여러 패턴을 효율적으로 일치시키도록 MySQL 쿼리 최적화
다음 쿼리는 LIKE 연산자와 결합된 여러 OR 조건을 사용하여 fiberbox
열 값이 특정 패턴과 일치하는 fiberBox
테이블에서 행을 검색하도록 설계되었습니다. 그러나 사용자들은 MySQL에서 기본적으로 지원되지 않는 LIKE IN()
구문을 탐색하는 데 관심을 표명했습니다.
원하는 기능을 얻으려면 LIKE IN()
대신 정규 표현식(REGEXP)을 사용해 보세요. REGEXP를 사용하면 동시에 여러 패턴에 대해 열 값을 일치시킬 수 있어 경우에 따라 더 효율적인 대안을 제공할 수 있습니다.
동일한 작업을 수행하는 최적화된 REGEXP 쿼리는 다음과 같습니다.
<code class="language-sql">SELECT * FROM fiberbox WHERE field REGEXP '1740|1938|1940';</code>
이 쿼리에서는 REGEXP 연산자를 사용하여 field
열 값을 파이프 기호(|)로 구분된 세 가지 패턴과 일치시킵니다. 이 접근 방식은 특히 많은 수의 패턴을 처리할 때 LIKE와 함께 여러 OR 조건을 사용하는 것보다 더 효율적입니다.
그러나 특정 데이터 세트 및 사용 시나리오에 가장 적합한 솔루션을 결정하려면 두 가지 접근 방식을 모두 벤치마킹하는 것이 좋습니다.
위 내용은 여러 패턴과 일치하는 MySQL 쿼리를 효율적으로 최적화하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!