標籤:port open current explain market set 資料庫 http com
explain
1.如果第一次執行,請先(在dbinst使用者下) connect to dbname,
執行db2 -tvf $HOME/sqllib/misc/EXPLAIN.DDL建立執行計畫表
2.db2 set current explain mode explain(在資料庫所在使用者下)
設定成解釋模式,並不真正執行下面將發出的sql命令
3.執行你想要分析的sql語句
......
db2 "SELECT DISTINCT RTRIM(MARKET_CODE),RTRIM(CURRENCY_TYPE),t.* FROM KS.BRANCH_PARAM t WHERE PARAM_CODE=‘0986‘"
db2 "SELECT a.name, a.cert_type, a.cert_no, A.CUST_NO,A.OPEN_DATE,A.BRANCH_CODE ,a.* FROM KS.CUST_BASE_INFO A where a.cert_no=‘0050000101‘ "
......
4.db2 set current explain mode no
取消解釋模式
5.db2exfmt -d ksdbs -g TIC -w -l -s % -n % -o db2exmt.out
執行計畫輸出到檔案db2exmt.out
Expln:
單表:
db2expln -d <database> -c <schema> -p <package> -o <explan out file> -s 0 -g
全庫:
db2 connect to database
db2 -x "select ‘db2expln -d <database> -c ‘||rtrim(ltrim(pkgschema))||‘ -p ‘||rtrim(ltrim(pkgname))||‘ -o ‘||rtrim(ltrim(pkgschema))||‘.‘||rtrim(ltrim(pkgname))||‘.out -s 0 -g‘ from syscat.packages where pkgschema <> ‘NULLID‘ with ur"> exp.sh
chmod +x exp.sh
./exp.sh
注意:<database>替換成資料庫名稱如:ksdbs,全庫執行時最好建立檔案夾,會產生很多檔案。
db2expln 輸出的描述
http://www.ibm.com/support/knowledgecenter/zh/SSEPGG_10.5.0/com.ibm.db2.luw.admin.perf.doc/doc/c0005739.html
文檔->效能調整->查詢最佳化->說明工具->SQL 和 XQuery 說明工具->db2expln 輸出的描述
db2執行計畫具體操作