다음 중 어느 것이 더 효율적 일지 궁금합니다.
저는 IN
SQL Server가 결과 집합을 큰 IF
진술 로 변환한다고 믿기 때문에 항상 사용에 대해 약간 신중했습니다 . 큰 결과 집합의 경우 성능이 저하 될 수 있습니다. 작은 결과 집합의 경우 둘 중 어느 것이 더 바람직한 지 잘 모르겠습니다. 큰 결과 집합의 EXISTS
경우 더 효율적이지 않습니까?
WHERE EXISTS (SELECT * FROM Base WHERE bx.BoxID = Base.BoxID AND [Rank] = 2)
대
WHERE bx.BoxID IN (SELECT BoxID FROM Base WHERE [Rank = 2])
select 1 from Base...
하기 where exists
때문에 할 수 있습니다.