Oracle SQL Developer中查看解釋計划Explain Plan的兩種方法


方法一:

比如要查看解釋計划的SQL是:select * from hy_emp

那么在輸入窗口輸入:

EXPLAIN PLAN FOR
select * from hy_emp

之后執行,輸出窗口會出現 Explained. 字樣,如下圖:

之后執行select * from table(dbms_xplan.display); 如下:

總結步驟如下:

執行:

EXPLAIN PLAN FOR

SELECT * from * where....

再執行:

select * from table(dbms_xplan.display) 

 

方法二:

這種方式更簡單,把SQL框起來點按鈕就行了。

附:Oracle Explain Plan中各種信息的含義:

  • Plan hash value 是該語句的哈希值。SQL 語句和執行計划會存儲在庫緩存中,哈希值相同的語句可以重用已有的執行計划,也就是軟解析;
  • Id 是一個序號,但不代表執行的順序。執行的順序按照縮進來判斷,縮進越多的越先執行,同樣縮進的從上至下執行。Id 前面的星號表示使用了謂詞判斷,參考下面的 Predicate Information;
  • Operation 表示當前的操作,也就是如何訪問表的數據、如何實現表的連接、如何進行排序操作等;
  • Name 顯示了訪問的表名、索引名或者子查詢等,前提是當前操作涉及到了這些對象;
  • Rows 是 Oracle 估計的當前操作返回的行數,也叫基數(Cardinality);
  • Bytes 是 Oracle 估計的當前操作涉及的數據量
  • Cost (%CPU) 是 Oracle 計算執行該操作所需的代價;
  • Time 是 Oracle 估計執行該操作所需的時間;
  • Predicate Information 顯示與 Id 相關的謂詞信息。access 是訪問條件,影響到數據的訪問方式(掃描表還是通過索引);filter 是過濾條件,獲取數據后根據該條件進行過濾。

參考:https://database.51cto.com/art/201912/608403.htm

--END-- 2019-12-31 13:33

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM