首页 > 代码库 > 表连接
表连接
表连接有嵌套循环(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 后面的条件都是从下往上一次执行的。
嵌套循环连接和哈希连接有驱动顺序,驱动表的顺序不同将影响表连接的性能,而排序合并连接没有驱动的概念,无论哪张表在前面都无妨。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。