oracle 联接表修改数据,ORACLE表与表联接的几种方式

053ddef54ea057f6f0a3c2decc02dda6.png

三大表与表联接方式

1.NESTED LOOPS 嵌套循环

2.HASH JOIN 哈希联接

3.SORT MERGE 排序合并联接

1.NESTED LOOPS  嵌套循环

嵌套循环的本质是将外部数据集连接到内部数据集,对于外部数据集中与单表谓词匹配的每一行,数据库将检索内部数据集中满足连接谓词的所有行。

工作原理:

a.优化器确定驱动行源并将其指定为外部循环。

b.优化器将另一行源指定为内部循环。

c.从外部行源获取一行

d.探查内部行源以查找与谓词条件匹配的行

e.重复前面的步骤,直到通过获取请求获得所有行

嵌套循环优先使用场景:

a.查询结果集偏小。

b.数据库以优化器模式设置为联接大型数据集FIRST_ROWS

c.内部循环有有效访问方式(例如存在高效索引)

HINT :

/*+ ORDERED USE_NL(d) */ ----d 为内部循环表-被驱动表

2.HASH JOIN 哈希联接

优化器使用两个数据集中的较小者在内存中的连接键上构建哈希表,并使用确定性哈希函数指定哈希表中存储每一行??的位置。然后,数据库扫描更大的数据集,探测哈希表以查找满足联接条件的行。

工作原理:

数据库对较小的数据集执行完整扫描,然后在PGA和磁盘上构建一个哈希桶阵列。

当PGA哈希区域填满时ÿ

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值