집 >데이터 베이스 >MySQL 튜토리얼 >## MySQL의 LIKE와 LOCATE: 하위 문자열 검색에서 어느 것이 더 빠릅니까?
MySQL LIKE와 LOCATE: 어느 쪽이 더 나은 성능을 발휘하나요?
데이터베이스 쿼리에는 테이블 열 내의 특정 용어 검색이 포함되는 경우가 많습니다. 이 목적에 사용되는 두 가지 일반적인 연산자는 LIKE와 LOCATE입니다. 이 문서의 목표는 이러한 검색을 수행할 때 어떤 연산자가 더 나은 성능을 제공하는지 결정하는 것입니다.
LIKE 대 LOCATE
LIKE 연산자는 와일드카드 문자(%)를 사용하여 임의의 수와 일치합니다. 문자. 이와 대조적으로 LOCATE 연산자는 문자열을 가져와 열 내에서 처음 나타나는 위치를 반환합니다.
성능 비교
벤치마크에 따르면 LIKE 연산자는 일반적으로 LOCATE보다 약간 빠릅니다. 이는 주로 LIKE에서는 일치 항목이 유효한지 확인하기 위해 추가 비교("> 0")가 필요하지 않기 때문입니다.
벤치마크 결과
벤치마크 테스트 사용 1억번의 반복으로 성능을 비교한 결과는 다음과 같습니다.
Operator | Time (seconds) |
---|---|
LOCATE (without comparison) | 3.24 |
LOCATE (with comparison) | 4.63 |
LIKE | 4.28 |
결론
LIKE와 LOCATE의 성능 차이는 미미하지만 LIKE가 가장 큰 장점으로 떠오릅니다. 하위 문자열 검색을 위한 보다 효율적인 선택입니다. 이러한 장점은 LOCATE에 필요한 추가 비교를 피할 수 있는 능력에서 비롯됩니다. 그러나 이러한 벤치마크는 특정 데이터베이스 버전 및 테이블 크기에 따라 달라질 수 있다는 점에 유의하는 것이 중요합니다.
위 내용은 ## MySQL의 LIKE와 LOCATE: 하위 문자열 검색에서 어느 것이 더 빠릅니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!