• 售前

  • 售后

热门帖子
入门百科

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

[复制链接]
囝囝刚 显示全部楼层 发表于 2021-10-26 14:07:09 |阅读模式 打印 上一主题 下一主题
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中。

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作