Oracle的三种表连接技术

Oracle有三种表连接技术,分别是嵌套连接、合并连接和哈希连接。

1. 嵌套循环连接 (NESTED LOOP Join)

嵌套连接把要处理的数据集分为外循环(驱动数据源)和内循 环(被驱动数据源),外循环只执行一次(先执行),内循环执行的次数等于外循环执行的 数据集个数。

这种连接的好处是内存使用非常少。

如果驱动数据源有限,且 被驱动表在连接列上有相应的索引,则这种连接方式才是高效的。

在OLTP系统上常见 到这种连接方式。

2. 排序合并连接 (Sort Merge Join)顾名思义,排序合并就是 先分别对待连接的数据集进行排序,然后再合并,其执行过程大致为:对表A的数据集进行排 序,排序结果保存的工作区A中;对表B的数据集进行排序,排序结果保存在工作区B中;最后 合并工作区A和B中的数据。

对这种连接方法,排序的开销是非常大的,和排序工作区 相关的内存参数有:sort_area_size和sort_area_retained_size,都在在PGA中。

3. 哈希连接 (Hash Join)哈希连接处理的两个数据集分别称为构造输入(build input)和探 测输入(probe input),构造输入的每行记录用于构造哈希表,探测输入的每行记录对哈希 表进行探测,以找出符合连接条件的记录。

将较小的表作为构造输入,较大的表作为探测 输入,这样哈希连接的效率才比较高,在执行计划中,较小的输入表在前面,较大的探测表 在后面。

哈希连接只有在相等连接的条件下才能进行。

和哈希表工作区相关的内存参 数有:hash_area_size,也在PGA中。

查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/database/Oracle/

时间: 2024-10-29 04:20:58

Oracle的三种表连接技术的相关文章

Oracle中三种表连接算法的总结

Oracle有三种表连接技术,分别是嵌套连接.合并连接和哈希连接.以下就是对这三种表连接算法进行了详细的分析介绍,需要的朋友可以参考下   1. 嵌套循环连接 (NESTED LOOP Join)嵌套连接把要处理的数据集分为外循环(驱动数据源)和内循环(被驱动数据源),外循环只执行一次(先执行),内循环执行的次数等于外循环执行的数据集个数. 这种连接的好处是内存使用非常少. 如果驱动数据源有限,且被驱动表在连接列上有相应的索引,则这种连接方式才是高效的. 在OLTP系统上常见到这种连接方式. 2

Oracle三种表连接技术

  Oracle有三种表连接技术,分别是嵌套连接.合并连接和哈希连接. 1. 嵌套循环连接 (NESTED LOOP Join) 嵌套连接把要处理的数据集分为外循环(驱动数据源)和内循环(被驱动数据源),外循环只执行一次(先执行),内循环执行的次数等于外循环执行的数据集个数. 这种连接的好处是内存使用非常少. 如果驱动数据源有限,且被驱动表在连接列上有相应的索引,则这种连接方式才是高效的. 在OLTP系统上常见到这种连接方式. 2. 排序合并连接 (Sort Merge Join)顾名思义,排序

Oracle中三种表连接算法的总结_oracle

1. 嵌套循环连接 (NESTED LOOP Join)嵌套连接把要处理的数据集分为外循环(驱动数据源)和内循环(被驱动数据源),外循环只执行一次(先执行),内循环执行的次数等于外循环执行的数据集个数. 这种连接的好处是内存使用非常少.如果驱动数据源有限,且被驱动表在连接列上有相应的索引,则这种连接方式才是高效的.在OLTP系统上常见到这种连接方式. 2. 排序合并连接 (Sort Merge Join)顾名思义,排序合并就是先分别对待连接的数据集进行排序,然后再合并,其执行过程大致为:对表A的

Oracle之3种表连接方式(排序合并连接、嵌套循环、哈希连接)

Oracle之3种表连接方式(排序合并连接.嵌套循环.哈希连接) 排序合并连接 1.2.4.2.1  排序合并连接 排序合并连接(Sort Merge Join)是一种两个表在做表连接时用排序操作(Sort)和合并操作(Merge)来得到连接结果集的表连接方法. 如果两个表(这里将它们分别命名为表T1和表T2)在做表连接时使用的是排序合并连接,则Oracle会依次顺序执行如下步骤. (1)首先以目标SQL中指定的谓词条件(如果有的话)去访问表T1,然后对访问结果按照表T1中的连接列来排序,排好序

Oracle三种上载文件技术_oracle

正在看的ORACLE教程是:Oracle三种上载文件技术.Oracle中有多种方法可以向数据库或服务器文件系统上载文件,这里主要介绍如下三种:Oracle HTTP Server(OHS)的mod_plsql模块提供通过web页面向数据库上载文件的功能:Oracle 9iAS的标签库和Bean提供的文件上载功能:通过JDBC程序上载文件.  一.Oracle HTTP Server(OHS)的mod_plsql模块提供通过web页面向数据库上载文件的功能 1.在文件上载的目标模式中建立文档访问表

Bootstrap三种表单布局的使用方法_javascript技巧

Bootstrap提供了三种表单布局:垂直表单,内联表单和水平表单  创建垂直或基本表单: •·向父 <form> 元素添加 role="form".  •·把标签和控件放在一个带有 class .form-group 的 <div> 中.这是获取最佳间距所必需的.  •·向所有的文本元素 <input>.<textarea> 和 <select> 添加 class .form-control <form role=&q

VMware的三种网络连接方式区别_VMware

关于VMware的三种网络连接方式,NAT,Bridged,Host-Only ,在刚接触的时候通常会遇到主机Ping不通虚拟机而虚拟机能Ping得通主机:主机与虚拟机互不相通等等网络问题.本文就这三种连接方式作一一说明,也方便以后翻阅当参考用. 首先,要注意安装完VMware后,控制面板\网络和 Internet\网络连接会多出两块虚拟网卡VMnet1.VMnet2,两个网卡各有用途. 基本拓扑 虚拟机(Linux) IP信息 测试结果: 物理主机 Ping 虚拟机 虚拟机1Ping物理主机

第七篇Bootstrap表单布局实例代码详解(三种表单布局)_javascript技巧

Bootstrap提供了三种表单布局:垂直表单,内联表单和水平表单.下面逐一给大家介绍,有兴趣的朋友一起学习吧. 创建垂直或基本表单: •·向父 <form> 元素添加 role="form". •·把标签和控件放在一个带有 class .form-group 的 <div> 中.这是获取最佳间距所必需的. •·向所有的文本元素 <input>.<textarea> 和 <select> 添加 class .form-cont

详解Oracle dg 三种模式切换_oracle

oracle dg 三大模式切换 ===================================1  最大性能模式MAXIMUM PERFORMANCE   ------默认模式 =================================== 一 最大性能模式特点 192.168.1.181 SQL> select database_role,protection_mode,protection_level from v$database; DATABASE_ROLE PROTE