博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
What is DB Block Gets,Consistent Gets and Physical Reads?
阅读量:5153 次
发布时间:2019-06-13

本文共 1900 字,大约阅读时间需要 6 分钟。

一、引言:

  我们随便执行一条查询语句,并打开autotrace:

 

1 SQL> set autotrace traceonly; 2 SQL> select * from emp; 3  4 14 rows selected. 5  6  7 Execution Plan 8 ---------------------------------------------------------- 9 Plan hash value: 395616093210 11 --------------------------------------------------------------------------12 | Id  | Operation      | Name | Rows  | Bytes | Cost (%CPU)| Time     |13 --------------------------------------------------------------------------14 |   0 | SELECT STATEMENT  |     |    14 |  1218 |     3   (0)| 00:00:01 |15 |   1 |  TABLE ACCESS FULL| EMP  |    14 |  1218 |     3   (0)| 00:00:01 |16 --------------------------------------------------------------------------17 18 Note19 -----20    - dynamic sampling used for this statement (level=2)21 22 23 Statistics24 ----------------------------------------------------------25     384  recursive calls26       0  db block gets 27      50  consistent gets28       3  physical reads29       0  redo size30    1454  bytes sent via SQL*Net to client31     419  bytes received via SQL*Net from client32       2  SQL*Net roundtrips to/from client33       4  sorts (memory)34       0  sorts (disk)35      14  rows processed

   在上面的执行计划中db block gets,consistent gets,physical reads的概念是什么呢?下面我们就开始分别介绍。

二、三者的介绍

  2.1、DB Block Gets(当前请求的块数目)

     当前模式块意思就是在操作中正好提取的块数目,而不是在一致性读的情况而产生的块数。正常的情况下,一个查询提取的块是在查询开始的那个时间点上存在的数据块,当前块是在这个时刻存在的数据块,而不是在这个时间点之前或者之后的数据块数目。

  2.2、Consistent Gets(数据请求总数在回滚段Buffer中的数据一致性读所需要的数据块)

     这里的概念是在处理你这个操作的时候需要在一致性读状态上处理多少个块,这些块产生的主要原因是因为由于在你查询的过程中,由于其他会话对数据块进行操作,而对所要查询的块有了修改,但是由于我们的查询时在这些修改之前调用的,所以需呀对回滚段中的数据块的前映像进行查询,以保证数据的一致性。这样就产生了一致性读。

  2.3、Physical Reads(物理读)

    就是从磁盘上读取数据块的数量,其产生的主要原因是:

     1、在数据库高速缓存中不存在这些块;

     2、全表扫描;

     3、磁盘排序。

   2.4、三者的关系

      它们三者之间的关系大致可概括为:

    逻辑读值的是Oracle从内存读到的数据块数量。一般来说是'Consistent Gets'+'DB Block Gets'。当在内存中找不到所需的数据块的话就需要从磁盘中获取,于是就产生了'Physical Reads‘。

转载于:https://www.cnblogs.com/Richardzhu/articles/2831610.html

你可能感兴趣的文章
初步了解 Dubbo 初始化,加载
查看>>
Python3网络爬虫——一、什么是爬虫
查看>>
Array.from()和Array.of()
查看>>
10.17-JavaScript
查看>>
网络通讯框架MINA和XSCOCKET的简单比较
查看>>
【iOS开发-91】GCD的同步异步串行并行、NSOperation和NSOperationQueue一级用dispatch_once实现单例...
查看>>
Opencv on Ubuntu (from Ubuntu)
查看>>
从Ubuntu12.04升级到Ubuntu 14.04之后,系统将无法启动
查看>>
Redis源代码分析(十)--- testhelp.h小测试框架和redis-check-aof.c日志检测
查看>>
屏幕分辨率(QQVGA、QVGA、VGA、XGA、WXGA、WUXGA和WSXGA+)
查看>>
OpenStreetMap初探(一)——了解OpenStreetMap
查看>>
ubuntu下安装xlrd模块,Mysqldb模块
查看>>
sql语句查询数据库中的表名/列名/主键/自动增长值
查看>>
视觉slam领域经典综述和具体应用场景
查看>>
oracle语法查某个字段为空
查看>>
(转载)DevExpress ASPxGridView 使用文档三:编辑
查看>>
4.三角形面积
查看>>
Android 开发压缩图片
查看>>
CF750E 线段树+矩阵乘矩阵加
查看>>
第一章 引论---项目、项目组合和项目集
查看>>