對'Consistent Gets',''Physical Reads'和'DB Block Gets'的理解和解釋

原文地址:http://blog.csdn.net/shuipipi/article/details/1074393

鳴謝:感謝博主shuipipi的技術分享!

 

 

在Oracle的文檔中有這樣一段解釋:

db block gets:Number of times a CURRENT block was requested.
consistent gets:Number of times a consistent read was requested for a block.
physical reads:Total number of data blocks read from disk. This number equals the value of "physical reads direct" plus all reads into buffer cache.
---------------------------------------------
------------------
針對以上3個概念進行的說明解釋及關係如下:
1、DB Block Gets(當前請求的塊數目)
當前模式塊意思就是在操作中正好提取的塊數目,而不是在一致性讀的情況下而產生的塊數。正常的情況下,一個查詢提取的塊是在查詢開始的那個時間點上存在的數據塊,當前塊是在這個時刻存在的數據塊,而不是在這個時間點之前或者之後的數據塊數目。

2、Consistent Gets(數據請求總數在回滾段Buffer中的數據一致性讀所需要的數據塊)
這裏的概念是在處理你這個操作的時候需要在一致性讀狀態上處理多少個塊,這些塊產生的主要原因是因爲由於在你查詢的過程中,由於其他會話對數據塊進行操 作,而對所要查詢的塊有了修改,但是由於我們的查詢是在這些修改之前調用的,所以需要對回滾段中的數據塊的前映像進行查詢,以保證數據的一致性。這樣就產 生了一致性讀。

3、Physical Reads(物理讀)
就是從磁盤上讀取數據塊的數量,其產生的主要原因是:
1、 在數據庫高速緩存中不存在這些塊
2、 全表掃描
3、 磁盤排序

它們三者之間的關係大致可概括爲:
邏輯讀指的是Oracle從內存讀到的數據塊數量。一般來說是'consistent gets' + 'db block gets'。當在內存中找不到所需的數據塊的話就需要從磁盤中獲取,於是就產生了'phsical reads'。
發佈了110 篇原創文章 · 獲贊 9 · 訪問量 17萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章