MySQL 열 문자열 일치: INSTR 대 LIKE
'varchar' 유형의 MySQL 열 내에서 하위 문자열을 검색할 때 'text ' 또는 'blob'인 경우 INSTR 및 LIKE라는 두 가지 일반적인 검색 방법이 발생합니다. 그러나 어떤 접근 방식이 더 효율적인가요?
INSTR 함수를 사용하여 지정된 문자열의 위치를 찾는 INSTR과 와일드카드를 사용한 패턴 일치를 활용하는 LIKE 중 어느 것이 더 최적인지에 대한 질문이 중심입니다. 선택하세요.
성능 비교
벤치마킹을 통해 전체 테이블에 대한 결과가 나타났습니다. 스캔에서는 INSTR과 LIKE 모두 비슷한 성능을 나타냅니다.
INSTR( columnname, 'mystring' ) > 0: 5.54 sec columnname LIKE '%mystring%': 5.54 sec
그러나 인덱싱된 열에서 접두사 검색을 수행할 때 중요한 차이점이 나타납니다.
Name LIKE 'search%': 3.88 sec
이 시나리오에서 LIKE는 접미사 와일드카드는 INSTR보다 성능이 훨씬 뛰어납니다.
대안: FULLTEXT 검색
INSTR과 LIKE는 모두 문자열 일치에 유용하지만 FULLTEXT 검색은 하위 문자열 검색의 효율성이 뛰어납니다. 색인화된 단어 목록을 활용하여 특히 큰 열을 검색할 때 매우 빠른 성능을 제공합니다. 속도가 가장 중요한 경우 FULLTEXT 사용을 고려해보세요.
위 내용은 MySQL 문자열 일치: INSTR 대 LIKE: 어느 것이 더 효율적인가요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!