MySQL은 3.23.23 버전부터 Fulltext 인덱스를 지원한다. varchar 와 text 컬럼에 fulltext 인덱스를 지원하고 MySQL에서 Fulltext search 를 하기 위해서는 특별한 SQL 구문을 사용해야 한다.
FULLTEXT 인덱스를 어떤 컬럼에 정의하려 할 때, 다른 인덱스 처럼 fulltext 인덱스도 여러 컬럼을 포함할 수 있다. 다음과 같이 Fulltext 인덱스를 정의한다.
ALTER TABLE TB_Test ADD FULLTEXT(col1, col2);
이렇게 Fulltext 인덱스를 생성하면, MATCH, AGAINST 구문을 이용해 검색할 수 있다.
SELECT (col1, col2 FROM TB_Test
WHERE MATCH (col1, col2) AGAINST ('Hurricane');
MATCH 함수는 Fulltext collection에서 컬럼이름을 확인하는 용도로 사용된다. MATCH 함수 안의 컬럼 리스트는 반드시 정확히 Fulltext 인덱스 정의와 같아야 한다.
AGAINST 함수는 Fulltext search 쿼리가 검색하게 한다.
By 윤성용
'2. DBMS이야기 > 02. MySQL' 카테고리의 다른 글
Mysql에서 innodb_file_per_table을 사용하는 이유 (0) | 2014.11.07 |
---|---|
MySQL InnoDB Next-Key Locking (0) | 2014.11.05 |
MySQL ERROR 1069 (0) | 2014.10.31 |
MySQL Index 유형별 적용 (0) | 2014.10.31 |
Busy한 MySQL 서버에서 Deadlock Troubleshooting (0) | 2014.10.30 |