teradata DISTINCT vs GROUP BY
来源:互联网 发布:nginx cookie 跨域 编辑:程序博客网 时间:2024/05/16 11:13
(–本文是个人学习和使用过程中的总结,如有错误欢迎指正。转载请注明出处)
常听到有关teradata中DISTINCT和GROUP BY那个性能更好的问题,是应该用
SELECT COLUMN GROUP BY 1
还是
SELECT DISTINCT COLUMN呢?
为了确定什么情况用DISTINCT,什么情况用GROUP BY,首先我们应该理解两者的工作方式。
DISTINCT :数据会被直接分布(distributed )到AMPs并去重
GROUP BY:会在每个AMP上首先做分组,然后再将数据分布到AMPs上做二次去重
理解了两者的不同我们可以根据下面的规则选择:
假设我们的数据有很很多不同的值选择DISTINCT 可能更好
假设我们的数据不同的值很少,首先在本地做去重就减少重分布的row,此时我们选择GROUP BY可以更好
——————————————————————————————————————————————————————————————–
不错在我们以前使用的teradata中确实如此,那么在新版本(TD 15)中真的也是这样么?
在此那了一张我们的表做了实验
可以看出来,不论对于重复率很高还是重复率不高的情况下,DISTINCT 和 GROUP BY 差别几乎可以忽略。
不知是否新版本CBO做了改进?
本文是在teradata 环境资源特别闲置的情况下做的,可能其他的或者您的测试结果有出入。仅供参考。
0 0
- teradata DISTINCT vs GROUP BY
- SQL DISTINCT、GROUP BY
- DISTINCT和GROUP BY
- group by,distinct,sum
- group by 替代distinct
- distinct和group by
- distinct和group by
- mysql distinct 与 group by
- group by 比 distinct 快
- 去重是distinct还是group by?
- mysql distinct 和 group by
- distinct、order by、 group by实现原理
- group by,having,order by小结--teradata数据库
- group by,having,order by小结--teradata数据库
- group by与distinct有何区别
- distinct 和 group by 使用对比
- DISTINCT和GROUP BY的区别
- Distinct 和Group by的区别
- 使用 Monit 监控PHP 服务中遇到的坑和解决办法
- 数据结构_3:栈:STL
- SpringMVC的几种返回方式
- 欢迎使用CSDN-markdown编辑器
- APP架构构思基本思路初稿
- teradata DISTINCT vs GROUP BY
- Codeforces 615C Running Track (Round #338 (Div. 2) C题) Trie + dp
- hdu1302The Snail(水)
- linux命令ps aux|grep xxx详解
- C 求字符数组最大值与次大值
- 表格
- android手机连接PC后,执行adb device报daemon not running. starting it now on port 5037 ADB server didn’t ACK错误
- UDP传输演示
- Linux内核构建系统之五