在我们优化oracle的时候,经常会用到各种各样的技术手段,其中使用statspack和explain plan是最常见的了。 当我们使用这两个常见的工具来进行优化调整的时候,经常会看到physical reads和logical reads。 那么这两者 是什么东东, 他们分别表示什么意思,他们有什么样的区别叻。 让我们先做一下这样的实验,一起来看看 SQL>set au
原创 2009-09-12 08:52:00
137阅读
(一)、物理:把数据从数据块读取到buffer cache中1、第一次查询一个表tselect * from t ;2、第二次查询:select * from t;第一次查询有6次物理,第二次查询有0个物理。当数据块第一次读取到,就会缓存到buffer cache 中,而第二次读取和修改该数据块时就在内存buffer cache 了。3、数据块被重新读入buffer cache ,这种发生在...
转载 2021-08-09 22:42:47
280阅读
逻辑是指从内存中,物理是指从磁盘上读取数据;如果内存中存在相应的读取数据,那么直接从内存中读取,逻辑的次数加1,如果不存在,则从磁盘上读到内存中,再从内存中读取,逻辑度次数加1,物理次数也加1。需要注意的是,物理非常消耗系统资源,一个物理需要消耗8ms,而一秒可以处理20万个逻辑。 1.物理(physical read) 当数据块第一次读取到,就会缓存到buffer
ocm
转载 精选 2012-08-08 15:03:12
818阅读
1点赞
ORACLE的物理与逻辑PhysicalReads(物理):物理的内容不在内存中,要去硬盘中读入内存。计算公式可以如下:PhysicalReads=dbblockgets+consistentgets;LogicalReads(逻辑):逻辑内容在内存中,不需要硬盘。dbblockgets--从buffercache中读取的block的数量。consistentgets--从buffe
转载 精选 2013-10-08 14:45:17
1662阅读
(一)、物理:把数据从数据块读取到buffer cache中1、第一次查询一个表tselect * from t ;2、第二次查询:select * ache ,这种发生在...
转载 2022-04-11 17:43:30
574阅读
Oracle中,什么是物理和逻辑? 当会话所需要的数据在内存的  Buffer Cache  中找不到,此时就要去磁盘上的数据文件中读取,这样就产生了物理(   Physical Reads   ),即物理是从磁盘文件把需要的数据读入内存(    SGA  中的    Buffer Cache  )。  逻辑(  Logical Reads  )表示   CPU   需要的数据在内存中
原创 2021-04-16 21:21:54
1759阅读
Oracle 物理 逻辑 一致性 当前模式总结浅析  在ORACLE数据库中有物理(Physical Reads)、逻辑(Logical Reads)、一致性(Consistant Get)、当前模式(DB Block Gets)等诸多概念,如果不理解或混淆这些概念的话,对你深入理解一些知识无疑是一个障碍,但是这些概念确实挺让让人犯晕的。下面我们总结、学习一下这方面的知识点。捋一捋
原创 2021-04-10 00:41:26
441阅读
ORACLE数据库中有物理(Physical Reads)、逻辑(Logical Reads)、一致性(Consistant Get)、当前模式(DB Block Gets)等诸多概念,如果不理解或混淆这些概念的话,对你深入理解一些知识无疑是一个障碍,但是这些概念确实挺让让人犯晕的。下面我们总结、学习一下这方面的知识点。捋一捋他们的关系和特点,希望对你有所帮助。 物理(...
原创 2021-08-23 09:35:07
541阅读
Oracle中,什么是物理和逻辑?  当会话所需要的数据在内存的  Buffer Cache  中找不到,此时就要去磁盘上的数据文件中读取,这样就产生了物理(   Physical Reads   ),即物理是从磁盘文件把需要的数据读入内存(    SGA  中的    Buffer Cache  )。     逻辑(  Logical Reads  )表示   CPU   需要的数据
原创 2021-04-13 15:44:44
196阅读
Q:如果我从T时开始执行一个查询,在T+3时数据才能查询完成,在此期间被查询的数据发生了变化。那么请问,我返回的数据是那个时点的数据?oracle用时如何保证该查询的?A:首先,查询的记录时有查询发起的时间点来决定的。需要返回T时数据的情况,而非数据返回时数据的情况。oracle是通过一个全局变量(SCN)来判断的.SCN System Change Number,是一个只能增加的数字。当有数据变
原创 2021-04-21 20:58:22
163阅读
1.查看逻辑前十的SQL SET LINESIZE 300;SET PAGESIZE 300;SET LONG 50000;SELECT * FROM ( SELECT sql_fulltext AS sql, SQL_ID, buffer_gets / executions AS "Gets/Exec", buffer_gets, executions FROM V$SQLA
原创 2022-08-02 10:36:57
174阅读
忽然想到了测试数据库的真实IO能力,虽然硬件工程师有套方法测试IOPS ,虽然ORACLE也推出了ORAXXX的测试小工具. 实际应用环境中块8K  得到
原创 6月前
33阅读
一,基本概述调优内存的使用主要有三个方面的考虑:对象的内存占用量(你可能希望整个数据集都适合内存),访问这些数据的开销,垃圾回收的负载。默认情况下,java的对象是可以快速访问的,但是相比于内部的原始数据消耗估计2-5倍的空间。主要归于下面三个原因:1),每个不同的Java对象都有一个“对象头”,它大约是16个字节,包含一个指向它的类的指针。对于一个数据很少的对象(比如一个Int字段
转载 2024-08-07 13:18:13
77阅读
Q 题目如下所示: 在Oracle中,什么是物理和逻辑? A 答案如下所示: 当会话所需要的数据在内存的Buffer Cache中找不到,此时就要去磁盘上的数据文件中读取,这样就产生了物理(Physi...
原创 2021-08-06 16:06:20
141阅读
由于博客中有大量代码,通过页面浏览效果更佳。1 环境介绍与现象描述数据库多块很慢,单块、写都很正常,多块的平均响应时间是单块都的10倍。 本系统数据文件存放在VXFS上面,数据库是从9i通过DG方式升级到11G,9i使用的是raw.2 分析与测试过程2.1 AWR中收集单块与多块的平均响应时间下面是从AWR中统计每个快照的单块与多块的响应时间" data-meta="set ver
原创 2月前
38阅读
本文分析了Oracle数据库多块响应时间异常的问题。数据库是从9i通过DG方式升级到11G,数据文件存储在VXFS文件系统上。AWR统计
原创 1月前
48阅读
35这里也有讲解1:undo segment的概念 当数据库进行修改的时候,需要把保存到以前的old的数据保存到一个地方,然后进行修改,用于保存old数据的segment 就是undo segment。 以前老的东西是可以被覆盖掉的,因为undo segment是一种循环利用的方式。 看下图 如上图所示:当oracle开启一个事务对table表中的数据进行修改,修改的那个数据(行数据)会被拷贝到 右图 undo segment(用圆形表示是因为表示会被覆盖)中,这个时候事务没有提交,在这个时候查询table中的数据,进行全部查询的时候, 当进行全表扫描 扫描到 被事务修改的数...
转载 2013-06-28 19:01:00
286阅读
2评论
上篇文章主要介绍了关于cursor的一些实现和工作原理,以及关于父子cursor的存储方式等理论部分,接下来我们来进行一番实验来印证我们的理论。如下为实验部分,在scott用户下进行查询emp表的数据:SQL> select empno,ename from emp;     EMPNO ENAME---------- --------------------      7369 SMITH
原创 2021-04-15 14:54:28
199阅读
上篇文章主要介绍了关于session cursor如何缓存以及工作相关原理,还有session cursor存在的意义等理论知识,并且最后给出关于session cursor能够被缓存在PGA中是有额外的限制条件的结论 如下...
原创 2021-04-15 21:39:09
224阅读
什么是一致性? 一致性指的是在从查询那一刻起,中间的变化不予理会。 举例说明 比如我有两个帐户A,B. A 有1000块,B有1000快。我查询的时候查询速度比较慢。中间A转500到B账户。 已经查询到A账户有1000,B账户有1500,这个时候我查询的结果是查询的结果应该是2500还是2000呢? 正确结果当然是2000。 这里就设计到oracle一致性查询的问题了. o...
原创 2021-07-22 16:55:51
323阅读
  • 1
  • 2
  • 3
  • 4
  • 5