다음을 포함하는 행에 대해 데이터베이스를 검색해야 하는 상황 특정 열 내에서 키워드 "foo" 및 "bar"를 사용하는 경우 MATCH AGAINST 또는 LIKE를 사용할 수 있습니다. 그러나 어느 것이 더 나은 선택입니까?
MATCH AGAINST는 더 빠른 검색을 위해 전체 텍스트 인덱스를 활용하므로 MyISAM 테이블과 함께 사용할 때 상당한 성능 이점을 자랑합니다. 이에 비해 LIKE는 전체 테이블 스캔을 수행하므로 테이블의 행 수가 늘어날수록 점점 비효율적이 됩니다.
그러나 LIKE는 'xxfoo'와 같은 부분 일치를 감지할 수 있으므로 키워드 감지에 이점을 제공합니다. , MATCH AGAINST에는 전체 단어 일치가 필요합니다. 이 기능이 중요하다면 성능을 희생하더라도 LIKE를 고려해야 할 수도 있습니다.
MySQL 5.6 이상의 경우 InnoDB 테이블은 MATCH AGAINST도 지원하므로 두 가지를 모두 해결하는 보다 포괄적인 솔루션을 제공합니다. 성능 및 키워드 일치 기능.
따라서 선호하는 선택은 특정 요구 사항 및 데이터베이스 환경에 따라 달라집니다. MySQL 5.6 이상의 MyISAM 테이블 또는 InnoDB 테이블에서 최적의 성능을 위해서는 일반적으로 MATCH AGAINST가 더 나은 옵션입니다. 그러나 부분적인 키워드 감지가 필요한 경우 LIKE가 여전히 실행 가능한 선택일 수 있지만 대규모 데이터 세트의 성능에 잠재적인 영향을 미칠 수 있습니다.
위 내용은 MATCH AGAINST 또는 LIKE: MySQL의 키워드 검색에 가장 적합한 것은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!