Autotrace 簡介
AUTOTRACE是一項SQL*Plus功能,自動跟蹤為SQL語句生成一個執行計劃並且提供與該語句的處理有關的統計。
AUTOTRACE的好處是您不必設定跟蹤檔案的格式,並且它將自動為SQL語句顯示執行計劃。
Autotrace 選項說明
命令 |
輸出內容 |
簡寫 |
是否真實執行 |
SET AUTOTRACE OFF |
預設模式,只顯示SQL執行結果 |
SET AUTOT OFF |
是 |
SET AUTOTRACE ON |
顯示SQL結果、執行路徑和資源消耗 |
SET AUTOT ON |
是 |
SET AUTOTRACE TRACEONLY |
顯示SQL結果數量、執行路徑和資源消耗 |
SET AUTOT TRACE |
是 |
SET AUTOTRACE TRACEONLY EXPLAN |
只顯示SQL執行路徑 |
SET AUTOT TRACE EXP |
Select語句沒有,DML會被執行 |
SET AUTOTRACE TRACEONLY STATISTICS |
只顯示資源消耗 |
SET AUTOT TRACE STAT |
|
統計資訊
統計資訊 |
解釋 |
recursive calls |
產生的遞迴sql呼叫的條數 |
Db block gets |
從buffer cache中讀取的block的數量 |
consistent gets |
從buffer cache中讀取的undo資料的block的數量 |
physical reads |
從磁碟讀取的block的數量 |
redo size |
DML生成的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 |
伺服器和客戶端來回往返通訊的Oracle Net messages條數 |
sorts (memory) |
在記憶體執行的排序量 |
sorts (disk) |
在磁碟上執行的排序量 |
rows processed |
處理的資料的行數 |
Autotrace 優缺點
- 優點
- 可以輸出執行時的相關統計資訊
- 有多種模式可供選擇
- 缺點
- 必須要等SQL語句執行完,才出結果
- 無法看到表被訪問了多少次
- 當存在繫結變數時執行計劃可能不準