获取执行计划EXPLAN PLAN(Mysql查看执行计划)
一般獲取執行計劃有四種途徑:1、執行explain plan,查詢結果輸出表。2、查詢動態性能視圖,它顯示緩存在庫緩存中的執行計劃(有時查不出結果是因為執行計劃已經不在庫緩存中)。3、查詢AWR或Statspack表。4、啟動提供執行計劃的跟蹤功能(set autotrace tra
一般獲取執行計劃有四種途徑:1、執行explain plan,查詢結果輸出表。2、查詢動態性能視圖,它顯示緩存在庫緩存中的執行計劃(有時查不出結果是因為執行計劃已經不在庫緩存中)。3、查詢AWR或Statspack表。4、啟動提供執行計劃的跟蹤功能(set autotrace trace explain)。使用得比較多的是第四種,簡單又好用~本篇講第一種方法。
首先,explainplan原理就是把一條SQL語句分析一下,將該語句的執行計劃和相關信息存儲到計劃表(plan table)中。可以查看一下聯機文檔關于explain plan的語法,
這里的string是用于區分計劃表中多個執行計劃的,into后面的table就是“計劃表”。一般的使用方法是explain plan for “sql text”;之后select * fromtable(dbms_xplan.display);有時出現這種情況,explain plan for insert into test select * from test; 此時任何事務并無變化,因為explainplan是DML語句,不會對當前事務隱式提交,僅僅是插入幾條記錄到計劃表。
我們會把執行計劃與相關信息存入計劃表,默認計劃表是sys下的一張表,但有一個plan_table公共同義詞,當你想使用一個私有的計劃表時,可以運行utlxplan.sql腳本。
當分析的sql語句有綁定變量時,一般使用綁定變量進行explain for,而不是使用幾個常量代入綁定變量進行分析。在explain for使用綁定變量也有兩個問題。第一,默認情況下綁定變量是varchar2類型,所以在執行計劃access中會有一個顯式類型轉換;第二,不能使用bind peeking。
總結
以上是生活随笔為你收集整理的获取执行计划EXPLAN PLAN(Mysql查看执行计划)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HTTP请求的常用方法有哪些(常见的HT
- 下一篇: html怎么写按钮