SQLPLUS中autotrace traceonly stat統計資訊解讀
BYS@bys1>set arraysize 200
BYS@bys1>set autotrace traceonly stat
BYS@bys1>select * from test2 order by 3;
72465 rows selected.
Elapsed: 00:00:00.57
Statistics
----------------------------------------------------------
1 recursive calls
0 db block gets
1037 consistent gets
0 physical reads
0 redo size
2909118 bytes sent via SQL*Net to client
4401 bytes received via SQL*Net from client
364 SQL*Net roundtrips to/from client
1 sorts (memory)
0 sorts (disk)
72465 rows processed
BYS@bys1>set autotrace traceonly stat
BYS@bys1>select * from test2 order by 3;
72465 rows selected.
Elapsed: 00:00:00.57
Statistics
----------------------------------------------------------
1 recursive calls
0 db block gets
1037 consistent gets
0 physical reads
0 redo size
2909118 bytes sent via SQL*Net to client
4401 bytes received via SQL*Net from client
364 SQL*Net roundtrips to/from client
1 sorts (memory)
0 sorts (disk)
72465 rows processed
recursive calls | 遞迴呼叫,在使用者和系統級的遞迴呼叫。Oracle資料庫維護用於內部處理的表。當Oracle資料庫需要作出這些表的變化,它在內部產生一個內部SQL語句,這反過來又產生一個遞迴呼叫。 |
db block gets |
在當前讀模式下所讀的塊數,比較少和特殊,是非一致性讀。例如資料字典資料獲取,在DML中,更改或刪除資料是要用到當前讀模式。通過update/delete/select for update讀的次數 |
consistent gets | 一致性讀,在一致讀模式下所讀的快數,包括從回滾段讀的快數。 |
physical reads |
物理讀,從磁碟讀取資料塊總數。這個數字等於“物理直接讀取”的價值,加上所有讀取到緩衝區快取記憶體。 |
redo size | redo位元組產生的總量 |
bytes sent via SQL*Net to client | 通過SQL*Net傳送到客戶端的位元組數 |
bytes received via SQL*Net from client | 通過SQL*Net收到的從客戶端傳送的位元組數 |
SQL*Net roundtrips to/from client | SQL*Net傳送和從客戶端接收往返總數 |
sorts (memory) | 排序操作的數量完全在記憶體中進行的,並沒有要求任何磁碟寫入 |
sorts (disk) | 排序操作的數量,需要至少一個磁碟寫入 |
rows processed | 在操作過程中處理的行數 |
1、DB Block Gets(當前請求的塊數目)當前模式塊意思就是在操作中正好提取的塊數目,而不是在一致性讀的情況下而產生的塊數。
正常的情況下,一個查詢提取的塊是在查詢開始的那個時間點上存在的資料塊,當前塊是在這個時刻存在的資料塊,而不是在這個時間點之前或者之後的資料塊數目。
2、Consistent Gets(資料請求總數在回滾段Buffer中的資料一致性讀所需要的資料塊)這裡的概念是在處理你這個操作的時候需要在一致性讀狀態上處理多少個塊,
這些塊產生的主要原因是因為由於在你查詢的過程中,由於其他會話對資料塊進行操 作,而對所要查詢的塊有了修改,但是由於我們的查詢是在這些修改之前呼叫的,
所以需要對回滾段中的資料塊的前映像進行查詢,以保證資料的一致性。這樣就產 生了一致性讀。
3、Physical Reads(物理讀)就是從磁碟上讀取資料塊的數量,其產生的主要原因是: 1、 在資料庫快取記憶體中不存在這些塊 2、 全表掃描 3、 磁碟排序
它們三者之間的關係大致可概括為:邏輯讀指的是Oracle從記憶體讀到的資料塊數量。一般來說是LOGIC IO(邏輯讀次數)= 'consistent gets' + 'db block gets'
當在記憶體中找不到所需的資料塊的話就需要從磁碟中獲取,於是就產生了'phsical reads'。
相關文章
- oracle之autotrace統計資訊分析Oracle
- 【STAT】Oracle 表統計資訊被鎖,如何建立索引Oracle索引
- oracle dbms_stat與analyze 獲取有效的統計資訊(5)Oracle
- oracle dbms_stat與analyze 獲取有效的統計資訊(4)Oracle
- oracle dbms_stat與analyze 獲取有效的統計資訊(3)Oracle
- oracle dbms_stat與analyze 獲取有效的統計資訊(2)Oracle
- oracle dbms_stat與analyze 獲取有效的統計資訊(1)Oracle
- oracle dbms_stat與analyze 獲取有效的統計資訊(6)Oracle
- Oracle10g dbms_stat 恢復原有的統計資訊Oracle
- [20121212]謹慎使用set autotrace traceonly檢視執行計劃[補充].txt
- sqlplus : set autot traceonly vs pl/sql developer : F5SQLDeveloper
- 如何啟用sqlplus的AutoTrace功能SQL
- [20120209] SET AUTOTRACE TRACEONLY EXPLAIN的問題.txtAI
- [20120112]謹慎使用set autotrace traceonly檢視執行計劃.txt
- 【STAT】函式索引和使用表示式統計資訊有什麼不同函式索引
- 重啟系統後AUTOTRACE統計為零
- PostgreSQL中統計資訊計算SQL
- 最佳實踐:解讀GaussDB(DWS) 統計資訊自動收集方案
- 【核心檔案系統】原始碼閱讀stat.h原始碼
- linux系統程式設計之檔案與IO(五):stat()系統呼叫獲取檔案資訊Linux程式設計
- 【統計資訊】Oracle統計資訊Oracle
- ORACLE表統計資訊與列統計資訊、索引統計資訊Oracle索引
- 統計資訊收集不完的解決
- HTTP頭資訊解讀HTTP
- 在SQLPLUS中使用AUTOTRACE——效能調整手冊和參考SQL
- Set autotrace命令及解釋
- git diff --stat命令詳解Git
- MySQL中Innodb如何計算索引的統計資訊?MySql索引
- ORACLE表統計資訊與列統計資訊Oracle
- 【原創】autotrace中statistics為0的問題的解決
- 【統計資訊】Oracle常用的收集統計資訊方式Oracle
- <Linux系統stat指令用法>Linux
- 從sqlplus 中spool輸出格式為html的資訊SQLHTML
- stat 命令家族(1)- 詳解 vmstat
- 達夢資料庫統計資訊詳解資料庫
- sqlplus的幫助資訊SQL
- sqlplus登陸資訊提示SQL
- 【統計資訊】全面檢視錶所有統計資訊SQLSQL