SQL에서 단어가 포함된 문장 FTS3을 이용한 빠른검색
Programing/SQL 2014. 4. 6. 00:41 |Database에서 단어가 포함된 문장을 쓸땐 like('%검색어%')를 사용한다.
하지만 like는 하나하나 매칭하며 검색하기 때문에 검색이 느리다.
그래서 사용되는 match를 설명한다.
match는 FTS3를 사용하여 빠른검색을 해주는데 사용법은 상당히 간단하다.
create virtual table name using FTS3(sentence);
name - 릴레이션 테이블 이름
sentence - 검색할 문장이 들어있는 필드명
저런식으로 virtual table을 생성 한 후
Select sentence From name where sentence match('검색어');
이런식으로 사용하면된다.
검색속도는 6~7배정도 빨라진다고 한다.
다만 like처럼 정확하게 검색되지 않는 상황도 생긴다.
예를 들어 American(people)를 검색할 시 like는 (people)까지 포함된 문장을 검색하지만 match는 American만 검색되는 경우도 생긴다.