teradata Join策略

来源:互联网 发布:java如何创建线程池 编辑:程序博客网 时间:2024/05/28 17:07

(–本文是个人学习和使用过程中的总结,如有错误欢迎指正 )

teradata关联可分为四种策略:
1:Merge Join
2:Nested Join
3:Hash Join
4:Product Join(including Cartesian Product joins)

Merge Join 比较高效的Join:
1:通常是等值(=)关联
2:关联的数据行在同样的AMP上
3:数据已经使用ROWHASH 排序
缺点数据需要排序,如果数据量过大, 非常耗时

Nested Join不同于oracle,一种最高效的Join:
1:用于等值连接
2:并且连接的字段是都PI或者UPI

Hash Join:
1:通常为等值连接
2:通常为大–小表之间的关联
3:会将小表放到内存中,或者复制到AMPS上

Product Join:
1:通常发生于非等值连接 > < <>或者有or的情况
2:一张表每行数据需要与另外一张表的所有行做比较,例如A表10行,B表10行,需要比较100次
3:假设没有关联条件,将会产生cross join,如同2里面说的将会返回100行数据

另外还有一张Exclusion Join:
通常产生于寻找不匹配的值,如NOT IN ,EXCEPT等

0 0
原创粉丝点击