ORACLE一致性读的问题。

我在网上看到这么一段话。什么是逻辑读?cpu在内存中读这些block的过程就叫做逻辑读(consistentget),在读的过程中产生的IO就是逻辑IO.逻辑读的过程中,... 我在网上看到这么一段话。
什么是逻辑读? cpu在内存中读这些block的过程就叫做逻辑读(consistent get),在读的过程中产生的IO就是逻辑IO.逻辑读的过程中,是非常消耗cpu资源的.因此,执行sql的逻辑读越少越好.sql调优必须调整buffer get很大的sql语句
难道不让逻辑读越多越好反而让物理读越多约好吗?
展开
 我来答
id415161761
2013-09-19 · 超过11用户采纳过TA的回答
知道答主
回答量:35
采纳率:0%
帮助的人:33.3万
展开全部
逻辑读就是从内存中(db buffer cache)读。
SQL执行过程中,如果发生物理读,将dbf的数据加载到内存,这一步显然是非常耗时的。
所以上面的说法是错误的。
我们总是希望逻辑读越多越好,毕竟从内存读的速度要远远大大于从硬盘读
追问
Consistent gets---数据请求总数在回滚段buffer中的数据一致性读所需要的数据块
还有这句话。您能帮我理解一下吗?谢谢~
追答
Consistent gets 

当db buffer cache中块被事务修改,却未提交。此时如果发生查询,会发生一致性读。
server process会在undo中,查找该数据块的前镜像,构造CR块。
Consistent gets 就是一致性读undo中的构造CR块的数量。
我们更加关注的是物理读和逻辑读,这个参数知道什么含义就可以了
光点科技
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件... 点击进入详情页
本回答由光点科技提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式