我知道在简单查询中,Distinct 和 Group By 的性能和执行计划几乎相同。
例如
SELECT Name FROM NamesTable GROUP BY Name
SELECT DISTINCT Name FROM NamesTable
但我读到在某些情况下它们的性能会有所不同,例如在子查询等中?
那么,您能否举一些例子或解释一下它们的性能不同的一些场景?
非常感谢
最佳答案
如果您在字段列表中包含计算值,您将看到执行计划中的差异。
select Value,
getdate()
from YourTable
group by UnitID
select distinct
Value,
getdate()
from YourTable
group by
查询在计算标量值之前进行聚合。 distinct
查询在聚合之前计算标量值。
关于sql-server - Distinct 和 Group By 的性能何时不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10650719/