LIKE는 성능이 떨어진다 — FULLTEXT 인덱스를 활용하라
페이지 정보

영삼이
본문
✅ LIKE
는 성능이 떨어진다 — FULLTEXT
인덱스를 활용하라
LIKE
쿼리가 느려진다면 텍스트 검색을 위한 인덱스를 고려하자
❌ LIKE
사용 시 성능 저하
SELECT * FROM products WHERE name LIKE '%laptop%';
-
%
로 시작하거나 끝이 붙은LIKE
는 전체 텍스트를 스캔해야 하므로 -
큰 테이블에서 실행하면 성능이 급격히 떨어짐
-
LIKE
는 인덱스를 사용하지 않음 (특히%
가 앞에 있을 경우)
✅ FULLTEXT
인덱스를 사용한 성능 개선
CREATE FULLTEXT INDEX idx_name ON products(name);
SELECT * FROM products WHERE MATCH(name) AGAINST('laptop' IN NATURAL LANGUAGE MODE);
-
FULLTEXT
인덱스를 사용하면 빠르고 효율적인 텍스트 검색이 가능 -
검색어를 포함한 단어나 문장이 포함된 행을 빠르게 찾을 수 있음
-
큰 데이터셋에서
LIKE
보다 훨씬 빠른 성능 제공
MATCH
와 AGAINST
활용
-
MATCH
는 문서 기반 검색에 사용되며, -
AGAINST
로 검색할 때 가장 적합한 텍스트 검색을 자동으로 처리함.
주의점
-
FULLTEXT
인덱스는 MySQL과 MariaDB에서만 지원됨 -
LIKE``는 검색의 범위가 넓어지면 성능이 급격히 나빠지므로,** **텍스트 데이터의 검색은
FULLTEXT` 인덱스로 대체하는 게 더 효과적이다.
✔️ LIKE
는 성능 저하의 원인이 될 수 있다.
FULLTEXT
인덱스를 활용하면 큰 데이터에서도 빠르고 효율적인 검색이 가능하다.
- 이전글LIMIT과 OFFSET은 성능이 저하될 수 있다 — WHERE으로 페이지네이션을 최적화하라 25.03.28
- 다음글TRUNCATE는 DELETE보다 훨씬 빠르다 25.03.28
댓글목록
등록된 댓글이 없습니다.