db2執(zhí)行計(jì)劃圖詳解 如何查看db2動態(tài)語句的執(zhí)行計(jì)劃?
如何查看db2動態(tài)語句的執(zhí)行計(jì)劃?DB2有一個圖形化的執(zhí)行計(jì)劃顯示工具。如果沒有圖形環(huán)境(如UNIX主機(jī)),則可以生成文本文件來顯示執(zhí)行計(jì)劃。1如果是第一次執(zhí)行,請連接到dbname并執(zhí)行DB2-tv
如何查看db2動態(tài)語句的執(zhí)行計(jì)劃?
DB2有一個圖形化的執(zhí)行計(jì)劃顯示工具。如果沒有圖形環(huán)境(如UNIX主機(jī)),則可以生成文本文件來顯示執(zhí)行計(jì)劃。1如果是第一次執(zhí)行,請連接到dbname并執(zhí)行DB2-tvf$home/sqllib/misc/解釋.DDL創(chuàng)建執(zhí)行計(jì)劃表2。DB2將當(dāng)前的explain mode設(shè)置為explain mode,而不實(shí)際執(zhí)行下面要發(fā)出的SQL命令。三。DB2“selectcount(*)fromstaff”執(zhí)行要分析的SQL語句。4DB2設(shè)置當(dāng)前解釋模式no cancel explain模式。5Db2exfmt-D示例-G TiC-W-L-S%-N%-O db2出口執(zhí)行計(jì)劃輸出到文件出口
如何查看db2正在進(jìn)行的sql執(zhí)行狀態(tài)?
第一種方法是查看應(yīng)用程序的快照,第二種方法是使用db2pd工具
方法1:使用DB2快照,不僅可以看到正在執(zhí)行的SQL語句,還可以看到SQL語句何時(shí)啟動正在執(zhí)行。結(jié)合捕獲快照的時(shí)間,可以推斷快照執(zhí)行了多長時(shí)間。但是,監(jiān)視開關(guān)在執(zhí)行SQL之前是打開的。
方法2:使用db2pd收集以下信息
C:windowssystem32>db2pd-DB sample-App-dyn
數(shù)據(jù)庫成員0--數(shù)據(jù)庫示例--活動--最多0天00:50:23--日期2016-04-26-13.52.10.917000
建議在join、where和order by中使用帶索引的列。要查看這些索引是否有效,可以查看這句話的執(zhí)行計(jì)劃。
您可以安裝查詢工具,如toad,它可以生成和查詢執(zhí)行計(jì)劃。如果您認(rèn)為安裝工具太麻煩,可以使用db2expln和db2exfmt等工具檢查執(zhí)行計(jì)劃。