키워드 열과 InnoDB 스토리지 엔진이 포함된 테이블이 있는 시나리오에서 LIKE를 사용하여 쿼리 최적화 '%string%' 패턴은 어려울 수 있습니다.
처음에는 키워드 열에 간단한 색인이 추가되었습니다. 그러나 EXPLAIN 쿼리에서는 쿼리가 '%string%' 패턴을 사용할 때 전체 테이블을 스캔해야 한다는 사실이 드러났습니다. 이 인덱스는 LIKE 'string%' 쿼리에만 유용한 것으로 입증되었습니다.
InnoDB 테이블의 경우 검색어가 다음 위치에 있는 부동 검색어가 포함된 쿼리에는 전체 텍스트 인덱스가 선호됩니다. 문자열. 그러나 이전에는 InnoDB가 전체 텍스트 인덱스를 지원하지 않는 것으로 여겨졌습니다.
최근 릴리스(5.6.4 이상)에서는 InnoDB가 전체 텍스트 인덱스를 지원합니다. 즉, 최적화된 LIKE '%string%' 쿼리의 경우 InnoDB 버전 5.6.4 이상으로 업그레이드하는 것이 권장됩니다. 전체 텍스트 인덱스는 플로팅 검색어용으로 특별히 설계되었습니다.
전체 텍스트 인덱스를 사용하면 '플로팅' 검색어를 키워드 열 내에서 효율적으로 찾을 수 있습니다. 이렇게 하면 전체 테이블을 스캔할 필요가 없어져 InnoDB 테이블의 LIKE '%string%' 쿼리에 대한 쿼리 성능이 크게 향상됩니다.
위 내용은 문제와 해결책을 강조하는 매력적인 질문 기반 제목을 위한 몇 가지 옵션은 다음과 같습니다. * **InnoDB에서 MySQL LIKE \'%string%\' 쿼리를 최적화하는 방법은 무엇입니까?** (직접적이고 간단함) * **안에의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!