oracle獲取執行計劃的方法

1.通過explain plan for獲取oracle sql語句執行計劃。

2.通過autotrace獲取oracle sql語句執行計劃。

  set autotrace on

  set autotrace traceonly

  set autotrace on explain 

  set autotrace on statistics

3.通過sql_trace來獲取oracle sql語句執行計劃。

4.通過10046事件來獲取oracle sql語句執行計劃。

5.通過awr報告來獲取oracle sql語句執行計劃。

注意:第一種方法適合開發人員獲取sql 執行計劃來判斷sql語句性能,即可以通過開發工具(plsql developer、toad等)輕鬆獲取。但獲取來的執行計劃並不是完全正確。因爲它沒有正真執行以及它沒有考慮綁定變量問題。

第二種相當於是第一種的升級,它可以輕鬆設置只要執行計劃或者要執行計劃以及統計信息。其實它的後臺也是通過explain plan for來獲取執行計劃的。不過它只能在sqlplus下面執行獲取。

第三種是對sql語句的追蹤,追蹤的信息轉儲到udump目錄下的trace文件。可通過tkprof來格式化trace文件。

第四種是第三種的一個升級,10046事件追蹤可以獲得綁定變量信息以及等待事件信息(sql_trace則不能),爲我們分析sql語句性能提供更詳細參考信息。也可通過tkprof格式化trace文件。(10053事件則不可以用tkprof來格式化trace文件)。

第五種是全局考慮sql性能問題,可以通過awr報告中的sql_id來查相關sql的執行計劃。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章