oracle 查询数据库io,理解Oracle中的并行查询IO

Oracle缓存区如何通过频繁地缓存在共享内存中访问数据来帮助降低磁盘IO瓶颈。Oracle有一种轮换IO机制,叫做“直接路径IO”,如果它判断到绕过缓存区直接执行IO会更快速的话,它就会启用。例如,Oracle在读写临时段进行排序或者整理中间结果集时就会使用直接IO。从Oracle 11g开始,Oracle有时也优先利用直接路径IO来处理串行表访问,而不是正常的缓存IO。

在执行并行查询操作时,Oracle通常会使用直接路径IO。通过使用直接路径IO,Oracle可以避免创建高速缓存竞争,并可以使IO更加优化地在伺服之间分配。此外,对于执行全表扫描的并行操作,在高速缓存找到匹配数据的机会相当低,因此高速缓存几乎没有增加什么价值。

在Oracle 10g以及更早的版本,并行查询总是使用直接路径IO,而串行查询将总是使用缓存IO。在11g中,Oracle可以对并行查询利用缓存IO(从11g R2以后的版本支持),而且串行查询也可能利用直接路径IO。然而,并行查询仍然不太可能利用缓存IO,因此,可能比串行查询需要更高的IO成本。当然,更高的IO成本将在所有并行进程之间共享,这样整体性能仍可能更胜一筹。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值