explain plan 是sql的執行計劃 。如果一條sql平時執行的好好的,有一天突然變得很差,如果排除系統資源和阻塞的原因,基本可以斷定是執行計劃出現了問題。
執行計劃可以定位sql性能的問題。
2.使用sql語句
EXPLAIN PLAN FOR SELECT * FROM DAVE;
SELECT plan_table_output FROM TABLE(DBMS_XPLAN.DISPLAY('PLAN_TABLE'));
或者
select * from table(dbms_xplan.display);
字段解釋
ID:一個序號,不是執行的先後順序,執行先後根據縮進判斷
Operation:當前操作的內容
Rows:當前操作的Cardinality,Oracle估計當前操作的返回結果集
CPU:Oracle計算出的一個數值,用於說明SQL執行的代價
Time:估計當前操作時間
db block gets:從buffer cache中讀取的block的數量
consistent gets:從buffer cache中讀取的undo數據的block數量
physical reads:從磁盤讀取的block的數量
redo size:DML生成的redo的大小
sorts(memory):在內存執行的排序量
sorts(disk):在磁盤上上執行的排序量
Physical Reads通常是我們最關心的,如果這個值很高,說明要從磁盤請求大量的數據到Buffer Cache裏,通常意味着系統裏存在大量全表掃描的SQL語句,這會影響到數據庫的性能,因此儘量避免語句做全表掃描,對於全表掃描的SQL語句,建議增加相關的索引,優化SQL語句來解決
---------------------
作者:哈哈哈哈蜜瓜
來源:CSDN
原文:https://blog.csdn.net/lvhao2813/article/details/79994443
版權聲明:本文爲博主原創文章,轉載請附上博文鏈接!