首页 > 其他 > 详细

表连接

时间:2014-06-16 09:08:39      阅读:368      评论:0      收藏:0      [点我收藏+]

表连接有嵌套循环(nested loop join) 哈希连接(hash join)  排序合并(merge sort join)

这三种表连接的应用比例为70%,20%,10%

各类连接访问次数差异

alter session  set statistics_level=all 这种跟踪方式 显著特点,可以知道表访问的次数

聚合因子决定了回表查询的效率

嵌套循环表的访问次数

select /*+leading(t1)use_nt(t2)*/*

from t1,t2

where t1.id=t2.t1_id;

t1表访问了1次,t2表访问了100次

select ...

from t1,t2

where t1.id=t2.id

and t1.id in(19,20)

t1表访问了一次,t2表访问了2次

 

select ...

from t1,t2

where t1.id=t2.id

and t1.id=19

t1表访问了一次,t2表访问了一次

 

select ...

from t1,t2

where t1.id=t2.id

and t1.id=100000000

t1表访问了1次,t2表访问了0次

 

说明了,驱动返回多少条记录,被驱动表就会访问几次。where 后面的条件都是从下往上一次执行的。

 

嵌套循环连接和哈希连接有驱动顺序,驱动表的顺序不同将影响表连接的性能,而排序合并连接没有驱动的概念,无论哪张表在前面都无妨。

表连接,布布扣,bubuko.com

表连接

原文:http://www.cnblogs.com/zhugehome/p/3783527.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!