Oracle执行计划的连接方式
suyishuai
这个作者很懒,什么都没留下…
展开
-
oracle执行计划-Nested Loops (nl)-3
继续上面2篇的说吧,在前面的2篇文章里面我一直使用的hints来强制使用Nested Loops,细心的朋友一定也发现了,如果没有使用hints,SQL就走hash join了,而且hash join这个时候没有Nested Loops的性能高啊。下面我们一起探讨下这个问题。原创 2014-01-02 22:52:04 · 2891 阅读 · 0 评论 -
oracle执行计划-Nested Loops (nl)-2
这篇文件继续和大家讨论oracle执行计划-Nested Loops (nl),上一篇的实验我一直在用hints来限制这个驱动表,下面的实验我就来试试T2表做驱动表 其实oracle也没有那么聪明了,它是通过表的那些统计信息来判断谁做驱动表比较合适,如果大家有兴趣的话可以找找相关统计信息的原创 2014-01-01 21:17:18 · 1479 阅读 · 0 评论 -
oracle执行计划-Nested Loops (nl)-1
嵌套循环(Nested Loops (NL)) 假如有A、B两张表进行嵌套循环连接,那么Oracle会首先从A表中提取一条记录,然后去B表中查找相应的匹配记录,如果有的话,就把该条记录的信息推到等待返回的结果集中,然后再去从A表中提取第二条记录,去在B表中找第二条匹配的记录,如果符合就推到返回的结果集中,依次类推,直到A表中的数据全部被处理完成,将结果集返回,就完成了嵌套循环连原创 2014-01-01 20:52:23 · 13448 阅读 · 1 评论 -
哈希连接(Hash Join(HJ))-1
(散列)哈希连接(Hash Join (HJ)) 假如有A、B两张表进行哈希连接,那么ORACLE会首先将B表在内存中建立一棵以散列表形式存在的查询二叉树C,然后开始读取A表的第一条记录,从C中去找匹配的记录,如果有,则推到结果集中。再提取A中的第二条记录,如果有,则推到结果集中,以此类推,直到A中没有记录,返回结果集。 HasH Join:1个班的同学选舞伴,原创 2014-01-07 10:08:31 · 1664 阅读 · 0 评论 -
哈希连接(Hash Join(HJ))-3
今天这章主要讨论下Hash Join的性能和驱动表这两方便的内容。先讨论下这个Hash Join性能的问题吧。上截图了!!!! 通过上面的例子可以看到,这个优化原创 2014-01-10 10:58:50 · 871 阅读 · 0 评论 -
哈希连接(Hash Join(HJ))-2
接着上面的章节,今天讨论下hash join是否排序,已经使用的限制条件。继续上一章的环境,开始了 排序的很简单,hash join的使用中,是没有排序的。那么使用的限制呢, 这里的限制说的是关联条件,大家仔细看啊 通过上面的例子,可以看到Hash Join不支持大于,小于,不原创 2014-01-07 11:18:12 · 892 阅读 · 0 评论 -
合并排序连接(Merge Sort Join)-1
Merge Sort Join原理机制 Nest Loop Join嵌套循环是一种比较古老的连接匹配方式,特点是通过两层的循环结构,将符合条件的数据行整理出来。嵌套循环的最大缺陷之一,就是伴随着驱动表被驱动表之间的选择,以及大量随机读现象。 Merge Sort Join连接的优势就是可以一定程度上减少随机读的情况。合并排序连接的最大特征是在一次扫描的同时,就判断连接。不原创 2014-01-16 09:03:36 · 2180 阅读 · 1 评论