>  기사  >  데이터 베이스  >  문제와 해결책을 강조하는 매력적인 질문 기반 제목을 위한 몇 가지 옵션은 다음과 같습니다. * **InnoDB에서 MySQL LIKE \'%string%\' 쿼리를 최적화하는 방법은 무엇입니까?** (직접적이고 간단함) * **안에

문제와 해결책을 강조하는 매력적인 질문 기반 제목을 위한 몇 가지 옵션은 다음과 같습니다. * **InnoDB에서 MySQL LIKE \'%string%\' 쿼리를 최적화하는 방법은 무엇입니까?** (직접적이고 간단함) * **안에

Patricia Arquette
Patricia Arquette원래의
2024-10-25 09:24:02280검색

Here are a few options for an engaging question-based title, emphasizing the problem and solution:

* **How to Optimize MySQL LIKE '%string%' Queries in InnoDB?** (Direct and straightforward)
* **InnoDB's LIKE '%string%' Performance: Can Fulltext Ind

InnoDB에서 MySQL LIKE '%string%' 쿼리 최적화

키워드 열과 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.