物理读&逻辑读&即时读&一致读&读一致性

本文详细解释了Oracle数据库中的物理读、逻辑读(即时读+一致读)、即时读、一致读和读一致性等概念。物理读涉及磁盘I/O,逻辑读指数据在内存中获取,即时读仅发生在更新和删除操作,一致读是构造一致性数据的过程,而读一致性确保查询期间数据的稳定性。
摘要由CSDN通过智能技术生成
物理读  逻辑读  即时读 一致读 读一致性

这几个概念很容易混淆,下面来深入讨论。

1. 物理读(physical reads)

   什么叫计算机中的物理读?
   如果我们需要的数据不在内存中,那么cpu要获取该数据就必须去磁盘上读取。此时必须要经过磁盘控制器的输入输出,这就叫物理I/O.
   表现在ORACLE中,就是如果一个session查询一个表,此时这个表数据没有在内存中,那么计算机必须去磁盘上的数据文件中读出数据到
   内存,并从内存中传入cpu中执行,此时就产生了物理i/o。
   记住:一次物理读必然引起一次逻辑读。

2. 逻辑读(logic reads)(=即时读+一致读)

   什么叫计算机中的逻辑读?
   如果我们需要的数据此时恰好在内存中,那么就不需要去磁盘上读取,直接在内存中获取到传入cpu中即可,这就叫逻辑I/O。
   而在oracle数据库中,对于逻辑读的定义和计算机原理中的逻辑读定义是有区别的。
   并且oracle定义:逻辑读=即时读+一致读。
   将数据从内存中传入cpu执行,我们叫逻辑读。所以同样的业务,cpu处理得越少,肯定响应时间越快,cpu处理得越少必然逻辑读就更少。
   所以:反过来,有效降低逻辑读,必然节约更多的处理时间,这就是sql优化的基本准则。

3. 即时读(db block gets)

   什么是即时读?
   这个是oracle数据库专有的概念:得到块来实际更新所要修改的行时,所完成的获取叫即时读【tom大师】。
   注意是修改,所以可以肯定:select不会发生即时读,它只发生在update和delete时。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值