작성자 : 이상훈

full text index 기술 적용 이유 : 이전 index에서 설명했듯이 like%처럼 검색어의 앞글자만으로는

검색어를 포함하는 경우가 있는 우리의 검색 기능들을 처리할 수 없겠다라는 판단이 들어서

full text index를 적용하기로 했다.

index를 적용해서 검색을 할 경우 검색어로 시작하는 경우만 향상된 검색 성능을 가질 수 있다.

스크린샷 2023-01-26 오전 1.12.12.png

<aside> 💡 select * from store where store_name like “성수%”

</aside>

하지만 성수로 시작하는 가게이름이 아닌 성수가 포함된 가게이름까지 같이 검색해야한다면

적용해뒀던 index는 사용할 수 없고 %like% 쿼리를 사용할 경우 full scan을 하게 된다.

이러한 상황에서 적용할 수 있는 기술이 full text index이다.

검색 성능 향상 ( 검색기준 : 약 106만건 )

%like% 수행시간(ms)
1회 660ms
2회 610ms
3회 610ms
4회 630ms
5회 671ms
평균 636.2ms
full-text-index 수행시간(ms)
1회 19ms
2회 27ms
3회 24ms
4회 16ms
5회 14ms
평균 20ms

%like% (full scan)

full-text-index (index)

full text index란