app教程网 学习教程 oracle表的连接方式四种(oracle 链表)

oracle表的连接方式四种(oracle 链表)

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

1.嵌套循环连接

嵌套连接将待处理的数据集分为外循环(驱动数据源)和内循环(驱动数据源)。外循环只执行一次(第一次),内循环执行的次数等于外循环执行的数据集数。这种连接的优点是占用的内存非常少。如果驱动数据源有限,

并且驱动表在连接列上有相应的索引,这种连接方式是高效的。这种连接在OLTP系统中很常见。

2.排序合并联接

顾名思义,排序合并就是先对要连接的数据集进行排序,然后再进行合并。其执行过程大致如下:对表A中的数据集进行排序,并将排序结果保存在工作区A中;对表b的数据集进行排序,

排序结果保存在工作区b中;最后,工作空间a和b中的数据被合并。对于这种连接方式,排序的开销非常大。

与排序工作区相关的内存参数有:sort_area_size和sort_area_retained_size,都在PGA中。

3.散列连接

由散列连接处理的两个数据集分别称为构建输入和探测输入。构建输入中的每一行记录都用于构建一个哈希表,探测输入中的每一行记录都探测哈希表以查找满足连接条件的记录。

较小的表作为构造输入,较大的表作为探测输入,这样哈希连接的效率更高。在执行计划中,较小的输入表在前面,较大的探测表在后面。哈希连接只能在对等连接的情况下进行。

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

本文来自网络,不代表本站立场,转载请注明出处:https: