집 >데이터 베이스 >MySQL 튜토리얼 >쉼표로 구분된 값 필드에서 정확히 일치하는 항목을 찾기 위해 MySQL을 효율적으로 쿼리하려면 어떻게 해야 합니까?
쉼표로 구분된 값에 대한 MySQL 쿼리 최적화
쉼표로 구분된 숫자 색상 코드를 저장하는 SHIRTS
필드가 있는 COLORS
테이블을 살펴보겠습니다. 간단한 LIKE
쿼리로는 부정확한 결과가 나올 수 있습니다.
<code class="language-sql">SELECT * FROM shirts WHERE colors LIKE '%1%'</code>
이 쿼리는 1, 12 또는 15와 같은 색상의 셔츠를 포함하여 colors
필드 어디에서나 '1'이 포함된 셔츠를 반환합니다. 색상 코드가 1인 셔츠만 찾으려면 더 정확한 방법이 필요합니다.
한 가지 효과적인 기술은 비교하기 전에 colors
문자열 옆에 쉼표를 두는 것입니다.
<code class="language-sql">SELECT * FROM shirts WHERE CONCAT(',', colors, ',') LIKE '%,1,%'</code>
이렇게 하면 쉼표로 정확하게 구분된 색상 코드 1만 일치하게 됩니다.
또 다른 효율적인 접근 방식은 FIND_IN_SET()
기능을 사용하는 것입니다.
<code class="language-sql">SELECT * FROM shirts WHERE FIND_IN_SET('1', colors) > 0</code>
FIND_IN_SET()
은 colors
필드의 쉼표로 구분된 목록 내에 '1'이 있는지 직접 확인하여 정확한 결과를 제공합니다. 이 방법은 일반적으로 명확성과 효율성 때문에 선호됩니다.
위 내용은 쉼표로 구분된 값 필드에서 정확히 일치하는 항목을 찾기 위해 MySQL을 효율적으로 쿼리하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!