查看oracle執(zhí)行計劃

          日常開發(fā)活動中,有時候需要對oracle執(zhí)行計劃進(jìn)行監(jiān)控,以此來調(diào)優(yōu)程序和數(shù)據(jù)庫方面的性能。

          常用方法有以下幾種:

          一、通過PL/SQL Dev工具

              1、直接File->New->Explain Plan Window,在窗口中執(zhí)行sql可以查看計劃結(jié)果。其中,Cost表示cpu的消耗,單位為n%,Cardinality表示執(zhí)行的行數(shù),等價Rows。

              2、先執(zhí)行 EXPLAIN PLAN FOR   select * from tableA where paraA=1,再 select * from table(DBMS_XPLAN.DISPLAY)便可以看到oracle的執(zhí)行計劃了,看到的結(jié)果和1中的一樣,所以使用工具的時候推薦使用1方法。

          注意:PL/SQL Dev工具的Command window中不支持set autotrance on的命令。還有使用工具方法查看計劃看到的信息不全,有些時候我們需要sqlplus的支持。


          二、通過sqlplus

              1、一般情況都是本機(jī)鏈接遠(yuǎn)程服務(wù)器,所以命令如下:
                      sqlplus user/pwd@serviceName
                  此處的serviceName為tnsnames.ora中定義的命名空間。
              2、執(zhí)行set autotrace on,然后執(zhí)行sql語句,會列出以下信息:
              
          。。。(省略一些信息)
          統(tǒng)計信息
          ----------------------------------------------------------
                    1  recursive calls (歸調(diào)用次數(shù))
                    0  db block gets 
                    2  consistent gets
                    0  physical reads (物理讀——執(zhí)行SQL的過程中,從硬盤上讀取的數(shù)據(jù)塊個數(shù))
                    0  redo size (重做數(shù)——執(zhí)行SQL的過程中,產(chǎn)生的重做日志的大小)
                  358  bytes sent via SQL*Net to client
                  366  bytes received via SQL*Net from client
                    1  SQL*Net roundtrips to/from client
                    0  sorts (memory)     在內(nèi)存中發(fā)生的排序
                    0  sorts (disk)     在硬盤中發(fā)生的排序
                    1  rows processed

          省略部分信息和通過PL/SQL Dev工具查看執(zhí)行計劃的信息一樣,下面的統(tǒng)計信息是更詳細(xì)的。

          判斷SQL效率高低不關(guān)通過時間來衡量,還應(yīng)該通過執(zhí)行SQL執(zhí)行狀態(tài)里面的邏輯讀的數(shù)量
              邏輯讀=(db block gets+ consistent gets)

          posted on 2009-08-12 10:49 andy.kong 閱讀(9753) 評論(7)  編輯  收藏 所屬分類: oracle

          評論

          # re: 查看oracle執(zhí)行計劃 2009-08-12 12:24 移動12530彩鈴

          地方結(jié)果看見風(fēng)大哥  回復(fù)  更多評論   

          # re: 查看oracle執(zhí)行計劃 2009-08-12 13:21 fengzl

          感謝感謝這個很有用  回復(fù)  更多評論   

          # re: 查看oracle執(zhí)行計劃[未登錄] 2009-08-12 16:33 AAA

          總結(jié)的不錯  回復(fù)  更多評論   

          # re: 查看oracle執(zhí)行計劃 2009-08-13 09:00 yuanhao

          學(xué)習(xí)了,另外提示一下,應(yīng)該是autotrace不是autotrance  回復(fù)  更多評論   

          # re: 查看oracle執(zhí)行計劃 2009-08-13 09:05 andy.kong

          @yuanhao

          謝謝,筆誤:)
            回復(fù)  更多評論   

          # re: 查看oracle執(zhí)行計劃[未登錄] 2009-11-16 16:36 gaga

          很有用謝謝  回復(fù)  更多評論   

          # re: 查看oracle執(zhí)行計劃 2013-12-03 23:49 aosica

          謝謝分享 非常受用  回復(fù)  更多評論   


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           

          公告

          師者,所以傳道授業(yè)解惑也!

          導(dǎo)航

          <2009年8月>
          2627282930311
          2345678
          9101112131415
          16171819202122
          23242526272829
          303112345

          統(tǒng)計

          常用鏈接

          留言簿

          隨筆分類

          隨筆檔案

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 汶川县| 无极县| 淮安市| 天门市| 弥渡县| 承德县| 田林县| 融水| 临沭县| 石泉县| 临海市| 灯塔市| 溧水县| 铜鼓县| 孟津县| 安丘市| 平顺县| 灯塔市| 霍城县| 三原县| 恩施市| 昆山市| 镇康县| 兴义市| 永兴县| 青冈县| 岫岩| 贵阳市| 民县| 板桥市| 祁门县| 同心县| 睢宁县| 开江县| 行唐县| 古田县| 卫辉市| 益阳市| 吉首市| 永福县| 民丰县|