【求解】distinct与group by效率求解,该如何处理
【求解】distinct与group by效率求解
当语句中没有使用聚合函数的时候使用distinct与group by都能达到去除重复的效果
例:
这两种情况那个效率会更好点呢?
效率差别大吗?
如果是多列有区别吗?
------解决方案--------------------
帮顶,学习
------解决方案--------------------
没发言权
回去研究下 我始终认为是group by的效率高
对于distinct需要慎用
研究结果 回去再贴上
------解决方案--------------------
来听课的!
------解决方案--------------------
从执行计划上看是一样的
------解决方案--------------------
DISTINCT和GROUP BY的区别
------解决方案--------------------
个人觉得如果单是去重效率应该是一样的
------解决方案--------------------
看了 楼上的 连接 还是不慎了解
------解决方案--------------------
做了一个简单的测试,感觉两者效率很接近,不晓得这个测试能不能说明问题
当语句中没有使用聚合函数的时候使用distinct与group by都能达到去除重复的效果
例:
- SQL code
--1 select distinct col from tb --2 select col from tb group by col
这两种情况那个效率会更好点呢?
效率差别大吗?
如果是多列有区别吗?
- SQL code
select distinct col,col2,col3,col4........from tb
------解决方案--------------------
帮顶,学习
------解决方案--------------------
没发言权
回去研究下 我始终认为是group by的效率高
对于distinct需要慎用
研究结果 回去再贴上
------解决方案--------------------
来听课的!
------解决方案--------------------
从执行计划上看是一样的
------解决方案--------------------
DISTINCT和GROUP BY的区别
------解决方案--------------------
个人觉得如果单是去重效率应该是一样的
------解决方案--------------------
看了 楼上的 连接 还是不慎了解
------解决方案--------------------
做了一个简单的测试,感觉两者效率很接近,不晓得这个测试能不能说明问题
- SQL code
------------------------------Version------------------------------------------ --Microsoft SQL Server 2005 - 9.00.4035.00 (Intel X86) -- Nov 24 2008 13:01:59 -- Copyright (c) 1988-2005 Microsoft Corporation -- Developer Edition on Windows NT 5.1 (Build 2600: Service Pack 3) -- ------------------------------------ --> 测试数据:[tb] if object_id('[tb]') is not null drop table [tb] create table [tb]([id] int,[date] datetime) insert [tb] select rand()*10000,getdate() go 1000000 select distinct id from tb /* (10000 行受影响) SQL Server 执行时间: CPU 时间 = 780 毫秒,占用时间 = 634 毫秒。 */ select id from tb group by id /* (10000 行受影响) SQL Server 执行时间: CPU 时间 = 796 毫秒,占用时间 = 641 毫秒。 */ --建立聚集索引 create clustered index idtbID ON tb(id) select distinct id from tb /* (10000 行受影响) SQL Server 执行时间: CPU 时间 = 172 毫秒,占用时间 = 1495 毫秒。 */ select id from tb group by id /* (10000 行受影响) SQL Server 执行时间: CPU 时间 = 172 毫秒,占用时间 = 1489 毫秒。 */
------解决方案--------------------
帖子不见了
------解决方案--------------------
我是来学习的