我很好奇下面哪一个会更有效率?
我在使用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])
https://stackoverflow.com/questions/2065329
复制相似问题