社区
MS-SQL Server
帖子详情
SQL中查找多个不重复的列,用distinct还是group by速度会快一点?
peiyangxinqu
2013-05-06 01:29:38
比如一个学生表,要查找出年级,班级这两个不同字段的组合,用下面两种方式的结果是一样的,请问哪种方式比较快?
select distinct grade,class from student
select grade,class from student group by grade,class
...全文
2718
7
打赏
收藏
SQL中查找多个不重复的列,用distinct还是group by速度会快一点?
比如一个学生表,要查找出年级,班级这两个不同字段的组合,用下面两种方式的结果是一样的,请问哪种方式比较快? select distinct grade,class from student select grade,class from student group by grade,class
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
魔者侠心之明星级程序员
2013-05-06
打赏
举报
回复
当然我上面指的是在A,B上建索引的时候都采用流聚集算法 ,如果没有索引的话,2个应该都会采用distinct sort,总之无论有没有索引,性能都是一样 。
魔者侠心之明星级程序员
2013-05-06
打赏
举报
回复
性能好坏看计划,计划的本质看算法。 从算法上看,双方都是采用流聚集算法,所以性能应该是一样的。
發糞塗牆
2013-05-06
打赏
举报
回复
两个查询放在一个查询界面,然后按ctrl+m,再按执行,然后会有一个图形界面,百分比低的可以认为更低的开销,而通常更低的开销会更快。
peiyangxinqu
2013-05-06
打赏
举报
回复
引用 1 楼 maco_wang 的回复:
数据量小的时候效率差不多。 数据量大的时候看执行计划。
执行计划??
longai123
2013-05-06
打赏
举报
回复
delete from ........
叶子
2013-05-06
打赏
举报
回复
参考:
http://bbs.csdn.net/topics/330193119
叶子
2013-05-06
打赏
举报
回复
数据量小的时候效率差不多。 数据量大的时候看执行计划。
SQL
去重是用
DISTINCT
好,还是
GROUP
BY好?
点击上方
SQL
数据库开发,关注获取
SQL
视频教程
SQL
专栏
SQL
基础知识汇总
SQL
高级知识汇总我们知道
DISTINCT
可以去掉
重复
数据,
GROUP
BY在分组后也会去掉
重复
数据,那这两个...
distinct
和
group
by的效率比较
distinct
和
group
by的性能比较
sql
进阶「
group
by 和
distinct
的异同」
在实际使用时,
group
by和
distinct
都可以实现单
列
去重及多
列
去重的功能,但在功能上,
group
by可以实现分组后的...同时在执行层面上,
group
by会在
多个
reduce上并行执行,相比只在一个reduce上执行的
distinct
会快
很多。
oracle
中
distinct
和
group
by的区别
其实二者没有什么可比性,但是对于不包含聚集函数的
GROUP
BY操作来说,和
DISTINCT
操作是等价的。不过虽然二者的结果是一样的,但是二者的执行计划并不相同。 在Oracle9i
中
:
SQL
> SELECT * FROM V$...
my
sql
中
group
by和
distinct
对比
可以看出,只要是使用了索引
group
by就会比
distinct
快很多 但是在没使用到索引的情况下,数据量小的情况下
distinct
的执行
速度
要比
group
by 快许多, 数据量大的情况下
group
by会稍微比
distinct
快一些 100W数据下...
MS-SQL Server
34,871
社区成员
254,637
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章