? ??在SQL語句的執行計劃中,包含很多字段項和很多模塊,其不同字段代表了不同的含義且在不同的情形下某些字段、模塊顯示或不顯示,下
面的描述給出了執行計劃中各字段的含義以及各模塊的描述。
?????? 有關執行計劃中各字段模塊的描述請參考:
執行計劃中各字段各模塊描述
???? ??有關由SQL語句來獲取執行計劃請參考:???
使用 EXPLAIN PLAN 獲取SQL語句執行計劃
???? ??有關使用autotrace來獲取執行計劃請參考:
啟用 AUTOTRACE 功能
???? ??有關display_cursor函數的使用請參考:?? dbms_xplan之display_cursor函數的使用
一、執行計劃中各字段的描述
??1、基本字段(總是可用的)
???? ??Id??????????????? ?執行計劃中每一個操作(行)的標識符。如果數字前面帶有星號,意味著將在隨后提供這行包含的謂詞信息
????? ?Operation? 對應執行的操作。也叫行源操作
????? ?Name?????? ?操作的對象名稱
??
??2、查詢優化器評估信息
????? ?Rows(E-Rows)???? ?預估操作返回的記錄條數
?? ????Bytes(E-Bytes)?????? 預估操作返回的記錄字節數
???? ??TempSpc??????????????? 預估操作使用臨時表空間的大小
??? ???Cost(%CPU)???????? ?預估操作所需的開銷。在括號中列出了CPU開銷的百分比。注意這些值是通過執行計劃計算出來的。換句話說,父操作的開銷包含子操作的開銷
????? ?Time??????????????????????? 預估執行操作所需要的時間(HH:MM:SS)
??
??3、分區(僅當訪問分區表時下列字段可見)
????? ?Pstart????? 訪問的第一個分區。如果解析時不知道是哪個分區就設為KEY,KEY(I),KEY(MC),KEY(OR),KEY(SQ)
?????? Pstop??? ? 訪問的最后一個分區。如果解析時不知道是哪個分區就設為KEY,KEY(I),KEY(MC),KEY(OR),KEY(SQ)
??
??4、并行和分布式處理(僅當使用并行或分布式操作時下列字段可見)
????? ?Inst??????????????? 在分布式操作中,指操作使用的數據庫鏈接的名字
????? ?TQ?????????????????在并行操作中,用于從屬線程間通信的表隊列
???? ??IN-OUT???????? 并行或分布式操作間的關系
???? ??PQ Distrib? ? 在并行操作中,生產者為發送數據給消費者進行的分配
??
??5、運行時統計(當設定參數statistics_level為all或使用gather_plan_statistics提示時,下列字段可見)
????? ?Starts?????? 指定操作執行的次數
???? ??A-Rows?? 操作返回的真實記錄數
???? ??A-Time?? ?操作執行的真實時間(HH:MM:SS.FF)
??
??6、I/O 統計(當設定參數statistics_level為all或使用gather_plan_statistics提示時,下列字段可見)
??? ???Buffers?? ?執行期間進行的邏輯讀操作數量
????? ?Reads??? 執行期間進行的物理讀操作數量
????? ?Writes?? ? 執行期間進行的物理寫操作數量????????
??
??7、內存使用統計
????? ?OMem???????????? 最優執行所需內存的預估值
??? ???1Mem????????????? 一次通過(one-pass)執行所需內存的預估值
????? ?0/1/M?????????????? 最優/一次通過/多次通過(multipass)模式操作執行的次數
????? ?Used-Mem??? 最后一次執行時操作使用的內存量
????? ?Used-Tmp?? ? 最后一次執行時操作使用的臨時空間大小。這個字段必須擴大1024倍才能和其他衡量內存的字段一致(比如,32k意味著32MB)
???? ??Max-Tmp?????? 操作使用的最大臨時空間大小。這個字段必須擴大1024倍才能和其他衡量內存的字段一致(比如,32k意味著32MB)
二、執行計劃中各模塊的描述與舉例
??1、預估的執行計劃中的各字段與模塊
??2、實際執行計劃中的各字段與模塊???
三、總結
??由上可知,在不同的情形下可以獲得執行計劃的不同信息,而不同信息則展現了SQL語句對應的不同情況,因此應根據具體的情形具體分析。??????????????????????????????????????????????????????????????????
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
