Full text search

긴 문자로 구성된 구조화 되지 않은 텍스트 데이터 → 빠르게 검색하기 위한 부가적인 mysql 기능

✅ Full text search 를 사용해야 하는 이유 만약 특정 단어를 검색하는 쿼리로 LIKE 를 사용한다면, 조회가 한번 이루어질 때마다 전체 테이블을 스캔하게 되고 이는 데이터가 100만 건이 넘는다고 가정한다면 db에 엄청난 부하를 줄 것이고 한참을 기다려야 할 것이다. 따라서 여러 단어들에 인덱스가 설정되어 검색 시에 인덱스를 사용하여 검색 속도를 높이는 Full text search 를 사용해야 한다.

FULLTEXT Index 생성

인덱스 생성방법 3가지


# 형식1
CREATE TABLE 테이블이름(
	...
	FULLTEXT 인덱스이름 (열이름)
)

# 형식2
CREATE TABLE 테이블이름(
	...
);

ALTER TABLE 테이블이름 ADD FULLTEXT (열이름);

# 형식3
CREATE TABLE 테이블이름(
	...
);

CREATE FULLTEXT INDEX 인덱스이름 ON 테이블이름 (열이름);

인덱스 삭제 방법

ALTER TABLE 테이블이름 DROP INDEX FULLTEXT(열이름);

Stop Words

굳이 full text index 로 사용 안해도 되는 단어 ex) 모두, 꼭, 아주 등…

Full text Search Query