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만 검색되는 경우도 생긴다.

Posted by 핸꾸
: