WHERE 절에서 이와 같은 조건을 사용할 때 Table.Column = @Param 또는 @Param IS NULL Column에 INDEX를 사용하지 않습니다.쿼리 최적화; Table.Column = @Param 또는 @Param IS NULL
인가 그것은 사실이고 또한 INDEX
쿼리 예
SELECT Col1, Col2 ...
FROM Table
WHERE (Col1 = @col OR @col IS NULL)
AND (Col2 = @col2 OR @col2 IS NULL)
AND (Col3 = @col3 OR @col3 IS NULL)
어떤 도움을 사용하는 쿼리의이 종류를 작성하는 방법 그럼합니다.
내 질문의 서식을 지정하지 않으셔서 죄송합니다. 편집자가 옵션 및 미리보기를 제공하지 않습니다. 왜 그런지 모르겠습니다. – Kashif
성능은 향상되지 않지만이 조건은 좀 더 우아한 방법으로 작성 될 수 있습니다. col1 = isnull (@col, col1) – heximal
다음은 동적 검색 조건에 대한 아주 완벽한 참조입니다. http : // www. sommarskog.se/dyn-search.html SSMS에서 실행 계획을 검토하여 쿼리가 인덱스를 사용하는지 쉽게 확인할 수 있습니다. – Pondlife