OR 너머: 여러 LIKE 조건에 대한 보다 효율적인 접근 방식
데이터베이스 검색에는 종종 여러 LIKE 조건이 포함되는 복잡한 기준이 필요합니다. OR
사용은 간단하지만 광범위한 패턴 일치에는 비효율적이고 유연성이 떨어질 수 있습니다. 이 글에서는 임시 테이블을 활용한 뛰어난 방법을 제시합니다.
임시 테이블의 효율성
여러 LIKE 패턴을 효과적으로 관리하려면 이러한 패턴을 저장할 임시 테이블을 만드세요. 예를 들어 이 테이블은 관련 데이터 유형(예: patterns
)을 보유하는 단일 열 pattern
을 사용하여 VARCHAR
이라는 이름을 지정할 수 있습니다. 패턴이 'ABC%', 'XYZ%' 및 'PQR%'인 경우 테이블 생성 및 채우기는 다음과 같습니다.
<code class="language-sql">CREATE TEMPORARY TABLE patterns ( pattern VARCHAR(20) ); INSERT INTO patterns VALUES ('ABC%'), ('XYZ%'), ('PQR%');</code>
패턴 매칭 최적화 참여
임시 테이블이 채워진 상태에서 JOIN
작업은 패턴에 따라 기본 테이블(tbl
)을 효율적으로 필터링합니다. tbl
의 모든 패턴과 일치하는 patterns
의 모든 행이 결과에 포함됩니다. 쿼리는 다음과 같습니다.
<code class="language-sql">SELECT t.* FROM tbl t JOIN patterns p ON (t.col LIKE p.pattern);</code>
DISTINCT를 사용하여 중복 결과 처리
열이 여러 패턴과 일치하여 행이 중복되는 경우 DISTINCT
키워드를 사용하여 고유한 결과만 반환하세요.
<code class="language-sql">SELECT DISTINCT t.* FROM tbl t JOIN patterns p ON (t.col LIKE p.pattern);</code>
요약: 탁월한 접근 방식
여러 LIKE 조건을 관리하기 위해 임시 테이블을 사용하면 더 깨끗하고 효율적이며 적응 가능한 솔루션이 제공됩니다. 이러한 패턴 분리는 검색 기준의 관리 및 확장을 단순화합니다. 그 결과 쿼리 성능, 가독성 및 유지 관리성이 향상되었습니다.
위 내용은 데이터베이스 쿼리에서 여러 LIKE 조건을 효율적으로 사용하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!