db2执行计划的创建使用和更新

db2执行计划的创建使用和更新

ID:6321756

大小:47.00 KB

页数:9页

时间:2018-01-10

db2执行计划的创建使用和更新_第1页
db2执行计划的创建使用和更新_第2页
db2执行计划的创建使用和更新_第3页
db2执行计划的创建使用和更新_第4页
db2执行计划的创建使用和更新_第5页
资源描述:

《db2执行计划的创建使用和更新》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、我们发现某个SQL语句执行很慢时,可以通过查看它的访问计划来定位原因,如是否执行了合适的索引、是否采用了正确的连接方法等。但是我们发现很多用户对访问计划的生成和解释工具的使用存在很多疑惑,本文通过一些实例来解释具体的用法,希望对大家有所帮助。--如果没有建立过执行计划表,要先建立执行计划表(连接数据库并执行脚本文件EXPLAIN.DDL)db2home=/tw1_db2home/db2inst1db2connecttodssdwdb2-tvf${db2home}/sqllib/misc/EXPLAIN.DDL(在

2、当前数据库中会生成9张解释表,采集的解释数据会存放到这些表中。)--解释表EXPLAIN_ARGUMENT包含所用各独立操作符的独特特征(如果存在的话)。EXPLAIN_INSTANCE包含所解释的SQL语句的源的基本信息,还有关于进行解释的环境的信息。(EXPLAIN_INSTANCE表是所有解释信息的主要控制表。其它解释表中的各行数据显式地链接到该表中的各行。)EXPLAIN_OBJECT包含关于为SQL语句生成的访问计划所需的数据对象的信息。EXPLAIN_OPERATOR包含SQL编译器为满足SQL语句而

3、需的所有操作符。EXPLAIN_PREDICATE包含确定特定操作符应用哪些谓词的相关信息。EXPLAIN_STATEMENT包含在得到不同级别的解释信息时存在的SQL语句文本。用户输入的原始SQL语句存储在该表中,另外还有DB2Optimizer用于选择满足SQL语句的访问计划的版本。(后一种版本可能与原始版本的语句略有差异,因为SQLPrecompiler可能已通过额外的谓词重写和/或增强了该语句。)EXPLAIN_STREAM包含关于各单独操作符和数据对象之间存在的输入输出数据流的信息。(数据对象本身显示于

4、EXPLAIN_OBJECT表中,而数据流中涉及的操作符可在EXPLAIN_OPERATOR表中找到。)--开始和关闭执行计划模式db2connecttodssdwdb2setcurrentexplainmodeexplain(这点和Oracle里的10046及sql_trace一样,此过程中的sql执行将被trace)db2setcurrentexplainmodeno(这里和ORACLE的sql_tracefalse,eventoff一样了)--查找存储过程所对应的程序包的名称SELECTCHAR(PROCS

5、CHEMA,20)ASPROCSCHEMA,--模式名称CHAR(PROCNAME,20)ASPROCNAME,--存储过程名称CHAR(B.BNAME,20)ASPKGNAME--绑定包名称FROMSYSCAT.PROCEDURESAJOINSYSCAT.ROUTINEDEPBONA.SPECIFICNAME=B.ROUTINENAMEWHEREPROCSCHEMA='KF2'ANDPROCNAME='EXPLAINPLAN_TEST'WITHUR;--查看执行计划(1)db2expln-d数据库名-c模式名称

6、-p绑定包名称-s0-g-t-o输出文件如:db2connecttodssdwdb2setcurrentexplainmodeexplaindb2expln-ddssdw-cKF2-pP0560833-s0-g-t-oexplainplan.out(-s0是指分析所有的SQL命令-g是指给出存取计划的图形输出(用字符模拟的)-t是指同时打印到终端屏幕)db2setcurrentexplainmodeno(2)db2exfmt-d数据库名-gTIC-w-1-n%-s%-#0-o输出文件如:db2connecttod

7、ssdwdb2setcurrentexplainmodeexplaindb2-tvfdb2setcurrentexplainmodenodb2exfmt-ddssdw-gTIC-w-1-n%-s%-#0-oexplainplan.outcatexplainplan.out--查看执行计划的另外两种方式:1.db2expln-ddssdw-uusernamepassword-g-t-q"s

8、tatement"2.db2setcurrentexplainmodeexplaindb2"statements"db2setcurrentexplainmodenodb2exfmt-ddssdw-uusernamepassword-w-l-s%-n%-oexplain.outcatexplain.out--执行计划的解读db2exfmtoTableOperatorsdb

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。