작성자 : 이상훈
full text index 기술 적용 이유 : 이전 index에서 설명했듯이 like%처럼 검색어의 앞글자만으로는
검색어를 포함하는 경우가 있는 우리의 검색 기능들을 처리할 수 없겠다라는 판단이 들어서
full text index를 적용하기로 했다.
index를 적용해서 검색을 할 경우 검색어로 시작하는 경우만 향상된 검색 성능을 가질 수 있다.
<aside> 💡 select * from store where store_name like “성수%”
</aside>
하지만 성수로 시작하는 가게이름이 아닌 성수가 포함된 가게이름까지 같이 검색해야한다면
적용해뒀던 index는 사용할 수 없고 %like% 쿼리를 사용할 경우 full scan을 하게 된다.
이러한 상황에서 적용할 수 있는 기술이 full text index이다.
%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)