Physical read + Logical read(DB block gets ,consistent gets )

本文详细解释了Oracle数据库中的物理读(Physical Read)和逻辑读(Logical Read)的概念及区别,介绍了DB block gets和consistent gets等关键指标,并给出了Buffer Hit比率的计算公式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Physical read 就是把数据块从 Disk 读到内存
Logical read 就是把数据块从db_cache 读到 server_process的PGA
Logical read = DB block gets + consistent gets
DB block gets  就是 当前的data 读的时候SCN 根据当前最新的current SCN 获得的,一般update前要先获得最新数据
consistent gets  就是 consistent 的data,就是说读的时候SCN 不是根据current SCN获得的,而是根据查询时对应的scn获得的,select

Oracle 每访问一个数据块,就需要一个logical read , 不管是否是当前SCN .也不管是否需要作physical read( 把数据块从 Disk 读到内存 ) , 也就是说,就算已经作了physical read , Oracle 还是需要再作logical read 才能访问到这个数据块(先从Disk 读到SGA, 再从SGA读到PGA)

当然,有一个特例,就是physical read direct , 把数据直接从disk 上读到 PGA里面,中间不通过SGA , 这时候,就是只有 physical read 而没有logical read……

至于 Buffer Hit 的公式
Hit Ratio = (db block gets + consistent gets - physical reads) / (db block gets + consistent gets)
== (logical read - physical read) / (logical read)
== (只走内存的logical read)/(所有logical read) 就是所谓的内存命中率了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值