扬州城市论坛 百科 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://baike.yzcslt.com/n/a5768.html

Oracle三种表连接技术

扬州城市论坛后续将为您提供丰富、全面的关于Oracle三种表连接技术内容,让您第一时间了解到关于Oracle三种表连接技术的热门信息。小编将持续从百度新闻、搜狗百科、微博热搜、知乎热门问答以及部分合作站点渠道收集和补充完善信息。