分析oracle的sql語句的執行計划


   在發現一個語句的執行計划有異常的時候,通常會生成一個sqlrpt看看使用的執行計划是否正確,如何來判斷執行計划是否正確,將通過以下幾個步驟來判斷:

  1.先查看sql語句的結構,看語句中連接是union,還是等值連接還是左、右連接,再看連接中的表數量。

2.查看執行計划中出現異常的部分。

3.查看各表的索引情況及表是否是分區的,在where條件上使用的索引列是否正確,看統計分析表中對表的分析結果是否正確

4.分析表的用途,表的數據日增長量。

5.分析為什么會出現異常的執行計划。

跟蹤執行計划的方法:

   (1) set autotrace on explain   只顯示查詢結果和執行計划

       set autotrace on statistic   只顯示查詢結果統計信息

      set autotrace on               顯示前兩者

     set autotrace traceonly      不顯示查詢結果,只顯示執行計划和統計信息

    set autotrace off              關閉跟蹤

要使用autotrace,必須在sqlplus里面使用,且使用的是sys用戶。

(2)可以使用explain plan for  select   * from c_cons    可以解析執行計划,然后通過select * from table(dbms_xplain.display(null,null,’outline’,null));來顯示執行計划。

(3)使用工具Toad for oracle使用sql_id來生成執行計划


免責聲明!

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



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