java 배우기/TIL

게시물 검색 최적화 작업 2-2 (인덱스 설정 에러)

checkuu 2024. 11. 7. 20:50

 

이번엔 더미데이터를 만들때 인덱스 설정이 제대로 들어가지 않았는지에 대해 확인해 보았다.

1. 게시물 더미데이터 만들기

2. SQL 콘솔창에 명령어 치기

내가 원했던 title과 content가 인덱스 잘되어있는것을 확인했다.

 

결과

확인 결과 인덱스가 설정안되는 문제도 아니었다.

지금까지 든 생각

1. 데이터가 10만개는 너무 작다.

2. 검색시 보여지는 컬럼이 title,content 두가지 밖에 안되서 인덱스 적용해도 효과를 보지 못한다.

 

그리고 다른 이유도 있을까 싶어 찾아봤는데,

쿼리문에 LIKE 가 들어가면 인덱스를 써도 똑같은 결과가 나온다라고 한다.

like 쿼리 사용할때 %랑 같이 사용하게 되면 인덱스 효과가 제한적이라는 말이었다.


LIKE '%keyword%'는 패턴 매칭을 의미하며, keyword 앞뒤에 %가 들어가면 데이터베이스는 해당 컬럼의 값을 처음부터 끝까지 순차적으로 검색해야 하므로 인덱스를 제대로 활용할 수 없습니다. 이 경우 인덱스가 거의 효과를 못 봅니다.

 

라고 하였고, Like 'keyword%' 뒤에만 붙이게 되면 더 잘활용 될 수 있다고 한다. 추가로 테스트 해봐야겠다.