db2执行计划具体操作

Posted 点点滴滴

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了db2执行计划具体操作相关的知识,希望对你有一定的参考价值。

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执行计划具体操作的主要内容,如果未能解决你的问题,请参考以下文章

MySQL执行计划

Linux下非root用户计划任务问题

如何在 IBM Data Studio 中查看 DB2 存储过程的解释计划?

Mysql学会查看sql的执行计划

谁教我怎么在PLSQL看执行计划还有看执行效率

SQL SERVER如何应用执行计划