MySQL8 이상에서는 Function Based Index를 지원한다.

 

Function Based Index 생성 시 주의할 점은 괄호를 묶어주어야 한다는 것이다.

 

 예제 1) 테이블 생성 시 FBI 생성

CREATE TABLE tbl (
  col1 LONGTEXT,
  INDEX idx1 ((SUBSTRING(col1, 1, 10)))
);
SELECT * FROM tbl WHERE SUBSTRING(col1, 1, 9) = '123456789';
SELECT * FROM tbl WHERE SUBSTRING(col1, 1, 10) = '1234567890';

 

예제 2) FBI 인덱스 생성

Create index fbi_index on animals((CONCAT (grp , name)));

 

+ Recent posts