執行計畫小總結

2021-09-12 17:10:34 字數 552 閱讀 5714

工作中偶爾會遇到效能不好的複雜sql語句,在定位不了問題的情況下就需要執行計畫出馬了。

執行計畫顧名思義,就是oracle內部執行sql語句的詳細計畫步驟。當然,其他資料庫比如mysql、sqlsever等也有這個概念。本文以我常用的oracle為例。

如可檢視執行計畫?其實有很多種方法。

最簡單的,用ide自帶元件,比如sql developer上的檢視執行計畫按鍵(快捷鍵f10)

稍微複雜點的,用**檢視:

explain plan for (select * from temp);--方法1

select plan_table_output from table(dbms_xplan.display('plan_table'));--方法2

sql> select * from table(dbms_xplan.display);--方法3

解讀執行計畫

join的時候,有三種方式:hash join、 merge join、nested loop

執行計畫小總結

工作中偶爾會遇到效能不好的複雜sql語句,在定位不了問題的情況下就需要執行計畫出馬了。執行計畫顧名思義,就是oracle內部執行sql語句的詳細計畫步驟。當然,其他資料庫比如mysql sqlsever等也有這個概念。本文以我常用的oracle為例。如可檢視執行計畫?其實有很多種方法。最簡單的,用i...

執行計畫小總結

工作中偶爾會遇到效能不好的複雜sql語句,在定位不了問題的情況下就需要執行計畫出馬了。執行計畫顧名思義,就是oracle內部執行sql語句的詳細計畫步驟。當然,其他資料庫比如mysql sqlsever等也有這個概念。本文以我常用的oracle為例。如可檢視執行計畫?其實有很多種方法。最簡單的,用i...

執行計畫總結

oracle訪問資料的訪問方法 1 全表掃瞄 full table scans,fts 2 通過rowid的表訪問 table access by rowid或rowid lookup 3 索引掃瞄 index scan或index lookup 有4種型別的索引掃瞄 1 索引唯一掃瞄 index ...