> 데이터 베이스 > MySQL 튜토리얼 > MySQL 문자열 일치: INSTR 대 LIKE: 어느 것이 더 효율적인가요?

MySQL 문자열 일치: INSTR 대 LIKE: 어느 것이 더 효율적인가요?

Susan Sarandon
풀어 주다: 2024-12-04 20:17:15
원래의
889명이 탐색했습니다.

MySQL String Matching: INSTR vs. LIKE: Which is More Efficient?

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

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