小菜毛毛技術分享

          與大家共同成長

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            164 Posts :: 141 Stories :: 94 Comments :: 0 Trackbacks

          日常開發活動中,有時候需要對oracle執行計劃進行監控,以此來調優程序和數據庫方面的性能。

            常用方法有以下幾種:

            一、通過PL/SQL Dev工具

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

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

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

            二、通過sqlplus

            1、一般情況都是本機鏈接遠程服務器,所以命令如下:

            sqlplus user/pwd@serviceName

            此處的serviceName為tnsnames.ora中定義的命名空間。

            2、執行set autotrace on,然后執行sql語句,會列出以下信息:

            。。。(省略一些信息)

            統計信息

            ----------------------------------------------------------

                    1  recursive calls (歸調用次數)
                    0  db block gets  
                    2  consistent gets
                    0  physical reads (物理讀——執行SQL的過程中,從硬盤上讀取的數據塊個數)
                    0  redo size (重做數——執行SQL的過程中,產生的重做日志的大小)
                  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)     在內存中發生的排序
                    0  sorts (disk)     在硬盤中發生的排序
                    1  rows processed

            省略部分信息和通過PL/SQL Dev工具查看執行計劃的信息一樣,下面的統計信息是更詳細的。

            判斷SQL效率高低不關通過時間來衡量,還應該通過執行SQL執行狀態里面的邏輯讀的數量

            邏輯讀=(db block gets+ consistent gets)

          FengFly.Com
          WWW.FENGFLy.COM FengFly.Com


          原文來自:雨楓技術教程網 http://www.fengfly.com
          原文網址:http://www.fengfly.com/plus/view-161902-1.html

           

          posted on 2010-02-06 17:30 小菜毛毛 閱讀(1632) 評論(0)  編輯  收藏 所屬分類: 數據庫
          主站蜘蛛池模板: 泗阳县| 长寿区| 长垣县| 城固县| 奇台县| 盐边县| 遂溪县| 咸宁市| 两当县| 桦川县| 余姚市| 南岸区| 昭苏县| 四子王旗| 罗甸县| 秦皇岛市| 邛崃市| 定安县| 马关县| 通江县| 礼泉县| 蓝山县| 陆丰市| 永城市| 翁源县| 盖州市| 尚志市| 天祝| 拉孜县| 汕尾市| 濉溪县| 金平| 福建省| 湟源县| 平原县| 渭源县| 临漳县| 岳阳县| 祥云县| 竹北市| 开鲁县|