ORACLE一致性读的问题。
我在网上看到这么一段话。什么是逻辑读?cpu在内存中读这些block的过程就叫做逻辑读(consistentget),在读的过程中产生的IO就是逻辑IO.逻辑读的过程中,...
我在网上看到这么一段话。
什么是逻辑读? cpu在内存中读这些block的过程就叫做逻辑读(consistent get),在读的过程中产生的IO就是逻辑IO.逻辑读的过程中,是非常消耗cpu资源的.因此,执行sql的逻辑读越少越好.sql调优必须调整buffer get很大的sql语句
难道不让逻辑读越多越好反而让物理读越多约好吗? 展开
什么是逻辑读? cpu在内存中读这些block的过程就叫做逻辑读(consistent get),在读的过程中产生的IO就是逻辑IO.逻辑读的过程中,是非常消耗cpu资源的.因此,执行sql的逻辑读越少越好.sql调优必须调整buffer get很大的sql语句
难道不让逻辑读越多越好反而让物理读越多约好吗? 展开
1个回答
展开全部
逻辑读就是从内存中(db buffer cache)读。
SQL执行过程中,如果发生物理读,将dbf的数据加载到内存,这一步显然是非常耗时的。
所以上面的说法是错误的。
我们总是希望逻辑读越多越好,毕竟从内存读的速度要远远大大于从硬盘读
SQL执行过程中,如果发生物理读,将dbf的数据加载到内存,这一步显然是非常耗时的。
所以上面的说法是错误的。
我们总是希望逻辑读越多越好,毕竟从内存读的速度要远远大大于从硬盘读
追问
Consistent gets---数据请求总数在回滚段buffer中的数据一致性读所需要的数据块
还有这句话。您能帮我理解一下吗?谢谢~
追答
Consistent gets
当db buffer cache中块被事务修改,却未提交。此时如果发生查询,会发生一致性读。
server process会在undo中,查找该数据块的前镜像,构造CR块。
Consistent gets 就是一致性读undo中的构造CR块的数量。
我们更加关注的是物理读和逻辑读,这个参数知道什么含义就可以了
光点科技
2023-08-15 广告
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件...
点击进入详情页
本回答由光点科技提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询