概述
排序合并连接 (Sort Merge Join)是一种两个表在做连接时用排序操作(Sort)和合并操作(Merge)来得到连接结果集的连接方法。
对于排序合并连接的优缺点及适用场景如下:
a,通常情况下,排序合并连接的执行效率远不如哈希连接,但前者的使用范围更广,因为哈希连接只能用于等值连接条件,而排序合并连接还能用于其他连接条件(如<,<=,>.>=)
b,通常情况下,排序合并连接并不适合OLTP类型的系统,其本质原因是对于因为OLTP类型系统而言,排序是非常昂贵的操作,当然,如果能避免排序操作就例外了。
oracle表之间的连接之排序合并连接(Merge Sort Join),其特点如下:
1,驱动表和被驱动表都是最多只被访问一次。
2,排序合并连接的表无驱动顺序。
3,排序合并连接的表需要排序,用到SORT_AREA_SIZE。
4,排序合并连接不适用于的连接条件是:不等于<>,like,其中大于>,小于<,大于等于>=,小于等于<=,是可以适用于排序合并连接
5,排序合并连接,如果有索引就可以排除排序。
Sort Merge主要的开销在于对两表连接的排序,已经在连接关联列上已经进行了排序,则该连接操作就不需要再进行 sort 操作,这样可以大大提高这种连接操作的连接速度,特别是对于较大的表。
最后
以上就是稳重雨为你收集整理的排序合并连接 (Sort Merge Join)的全部内容,希望文章能够帮你解决排序合并连接 (Sort Merge Join)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复