> 데이터 베이스 > MySQL 튜토리얼 > 전체 텍스트 인덱스가 InnoDB에서 LIKE \'%string%\' 쿼리의 성능을 어떻게 향상시킬 수 있습니까?

전체 텍스트 인덱스가 InnoDB에서 LIKE \'%string%\' 쿼리의 성능을 어떻게 향상시킬 수 있습니까?

Susan Sarandon
풀어 주다: 2024-10-25 04:48:02
원래의
851명이 탐색했습니다.

How Can Fulltext Indexes Enhance Performance for LIKE '%string%' Queries in InnoDB?

InnoDB에서 LIKE '%string%' 쿼리에 대한 MySQL 성능 향상

배경: LIKE '%string%'을 활용하는 쿼리 최적화 특히 InnoDB 환경에서는 구문이 어려울 수 있습니다. 이 문제를 해결하기 위해 사용 가능한 옵션과 해당 제한 사항을 자세히 살펴보겠습니다.

기본 인덱싱의 제한 사항:

ALTER TABLE 예 ADD INDEX에서 설명한 대로 표준 인덱스 만들기 idxSearch(키워드);는 LIKE '%whatever%'와 같은 쿼리에 대한 성능 문제를 해결하지 않습니다. 이는 InnoDB 인덱스가 문자열의 처음부터 끝까지 구성되기 때문입니다. 결과적으로 문자열이 필드 내 어디에나 나타날 수 있는 "부동" 검색에서는 이러한 색인을 활용할 수 없습니다.

전체 텍스트 색인 소개:

유연한 문자열 검색용 , 전체 텍스트 색인이 작동합니다. 이는 검색어가 인덱싱된 열의 어느 위치에나 나타날 수 있는 시나리오에 맞게 조정되었습니다. 버전 5.6.4부터 InnoDB의 전체 텍스트 인덱스 지원을 통해 InnoDB 테이블에서도 그 이점을 활용할 수 있습니다.

구현:

전체 텍스트 인덱스를 구현하려면 다음 쿼리를 실행하세요. :

ALTER TABLE example ADD FULLTEXT INDEX (keywords)
로그인 후 복사

전체 텍스트 인덱스의 이점:

  • LIKE '%whatever%'
  • 와 같은 부동 쿼리에 대한 검색 성능 최적화
개선됨 이러한 쿼리에 대한 효율성 및 대기 시간 감소

추가 고려 사항:
  • InnoDB를 활용하려면 MySQL 서버가 버전 5.6.4 이상을 실행하고 있는지 확인하세요. 전체 텍스트 인덱스.
  • 쿼리 계획을 모니터링하여 전체 텍스트 인덱스가 효과적으로 사용되고 있는지 확인하세요.
과도하거나 불필요한 데이터가 포함된 경우 키워드 열의 크기를 최적화하는 것을 고려하세요.

위 내용은 전체 텍스트 인덱스가 InnoDB에서 LIKE \'%string%\' 쿼리의 성능을 어떻게 향상시킬 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿