码迷,mamicode.com
首页 > 其他好文 > 详细

表连接

时间:2014-06-16 09:10:15      阅读:199      评论:0      收藏:0      [点我收藏+]

标签:set         应用   io   rom   

表连接有嵌套循环(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

表连接

标签:set         应用   io   rom   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!