关于DISTINCT和GROUP BY查询

loworth 2008-02-01 11:00:03
[CODE=SQL]
CREATE TABLE [tba]
(
[fa] INT,
[fb] NVARCHAR(20)
)
GO
/*以下两种查询方法其结果是相同的
敢问两种查询性能有什么区别么
我测试数据库中19万数据 查询结果3.7万 查询速度都是1330毫秒 看不出来
有了解SQL内幕的指教下
*/

--常规做法
SELECT DISTINCT fa,fb FROM tba
--另类做法
SELECT fa,fb FROM tba GROUP BY fa,fb
[/CODE]
另有帖子http://topic.csdn.net/u/20080201/10/cbf8dcb0-4d8b-48bc-907d-156a948cdefa.html也一起讨论啊
...全文
215 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Ray_Zhang 2008-02-01
  • 打赏
  • 举报
回复
看你的需求,GROUP BY会自动排序的,DISTINCT 只是简单的过滤,所以DISTINCT 快一些,到效果有限
qqhmitzk 2008-02-01
  • 打赏
  • 举报
回复
这是个很好的讨论话题
loworth 2008-02-01
  • 打赏
  • 举报
回复
-->@gogocsgogodn

现只探讨性能 不探讨实用
gogocsgogodn 2008-02-01
  • 打赏
  • 举报
回复
过滤掉重复的记录一般
SELECT DISTINCT fa,fb FROM tba
好了
GROUP BY一般涉及到汇总求和或其他用下
loworth 2008-02-01
  • 打赏
  • 举报
回复
哇!
不好意思 偶是小菜 不知道如何看查询计划和让它自动优化 请指教
昵称被占用了 2008-02-01
  • 打赏
  • 举报
回复
搂主可以自己看看查询计划,都是转化成
SELECT fa,fb FROM tba GROUP BY fa,fb

方式查询的

查询计划完全相同
昵称被占用了 2008-02-01
  • 打赏
  • 举报
回复
自动优化后者两个语句是一样的

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧