db2查看执行计划

一、使用package查看执行计划
1.找到数据库中所有的package:
 >db2 describe table syscat.packagedep
                                Data type                     Column
Column name                     schema    Data type name      Length     Scale Nulls
------------------------------- --------- ------------------- ---------- ----- ------
PKGSCHEMA                       SYSIBM    VARCHAR                    128     0 No    
PKGNAME                         SYSIBM    VARCHAR                    128     0 No    
BINDER                          SYSIBM    VARCHAR                    128     0 No    
BINDERTYPE                      SYSIBM    CHARACTER                    1     0 No    
BTYPE                           SYSIBM    CHARACTER                    1     0 No    
BSCHEMA                         SYSIBM    VARCHAR                    128     0 No    
BNAME                           SYSIBM    VARCHAR                    128     0 No    
TABAUTH                         SYSIBM    SMALLINT                     2     0 Yes   
VARAUTH                         SYSIBM    SMALLINT                     2     0 Yes   
UNIQUE_ID                       SYSIBM    CHARACTER                    8     0 No    
PKGVERSION                      SYSIBM    VARCHAR                     64     0 Yes   
2.查询某张表对应的package的名字:
db2 "select * from  syscat.packagedep where  bname = '<table_name>'" 
3.使用db2expln命令对package进行解析,查看执行计划:
db2expln -d 数据库名 -c 用户名 -p 绑定包名 -o 输出文件 -s 0 -g


二、使用命令行查看执行计划


1.如果第一次执行,请先 connect to dbname,
2.执行db2 -tvf $HOME/sqllib/misc/EXPLAIN.DDL建立执行计划表
3.db2 set current explain mode explain
  设置成解释模式,并不真正执行下面将发出的sql命令
4.db2 "select order_number from <table_name>where  order_number='000000000036' and mer_ID='111' and order_time='20121111111111' and order_type='01' "
  执行你想要分析的sql语句
5.db2 set current explain mode no
  取消解释模式
6.db2exfmt -d sample -g TIC -w -l -s % -n % -o db2exmt.out
  执行计划输出到文件db2exmt.out
  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值