【发布时间】:2010-09-30 09:58:15
【问题描述】:
当查询中没有进行聚合时,为什么有人会使用 group by 而不是 distinct?
此外,是否有人通过 MySQL 和 SQL Server 中的不同性能考虑来了解该组。我猜 SQL Server 有一个更好的优化器,它们可能与那里相当,但在 MySQL 中,我预计会有明显的性能优势。
我对 dba 的答案很感兴趣。
编辑:
Bill 的帖子很有趣,但不适用。让我更具体一点...
select a, b, c
from table x
group by a, b,c
对
select distinct a,b,c
from table x
【问题讨论】:
-
这与stackoverflow.com/questions/164319/… 的问题密切相关,但并不完全相同
-
很可能是因为他们不知道自己在做什么。如果您确定他们知道他们在做什么,那么我会怀疑两者之间处理 NULL 值的方式有所不同——不过,我想不出是什么。
-
我认为答案很简单——作者不知道 distinct(这令人惊讶,因为我认为他是专业人士)。
标签: mysql sql-server performance group-by distinct