다음 중 더 효율적인 것은 무엇입니까?
나는 항상 을 사용하는 것에 대해 신중을 기했습니다. SQL Server가 결과를 큰 IF
문으로 바꾸기 때문입니다. 큰 결과 세트의 경우 성능이 저하 될 수 있습니다. 작은 결과 세트의 경우 어느 것이 좋을 지 확신하지 못합니다. 큰 결과 세트의 경우 EXISTS
이 더 효율적이지 않습니까?SQL Server IN 대 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])
알아내는 가장 좋은 방법은 그것을 밖으로 시도하고 몇 meassurements 할 수 있습니다. –
거기에 ** 이걸로 gazillion 중복 될 수있어 ...... –
@ marc_s : 예,하지만 저는 그것이 정말로 대소 문자에 의존한다고 생각합니다. 나는 정답은 klausbyskov (또는 선행 기술을 주장 할 수있는 사람)라고 생각합니다. – RedFilter