WEB开发网
开发学院数据库DB2 DB2 存储过程中如何使用 Optimization Profile 阅读

DB2 存储过程中如何使用 Optimization Profile

 2010-09-03 00:00:00 来源:WEB开发网   
核心提示: 该 SQL 语句的输出包括两列,一列为存储过程编译后对应的数据库内部包的名字,DB2 存储过程中如何使用 Optimization Profile(8),一列为 SQL 语句的内部表示形式,执行脚本后,可以查看 DB2 Info Center 中相关的章节,这里,可以得到如下输出:图 5.查询存

该 SQL 语句的输出包括两列,一列为存储过程编译后对应的数据库内部包的名字,一列为 SQL 语句的内部表示形式。执行脚本后,可以得到如下输出:

图 5.查询存储过程中 SQL 语句内部表示形式
DB2 存储过程中如何使用 Optimization Profile

查看原图(大图)

我们可以看到,输出参数 EMP_NUM 被替换成了 :HV00009 :HI00009,输入参数 DEPT_NO 被替换成了 :HV00008 :HI00008,这和当初定义在存储过程中的 SQL 语句形式上有很大区别,而这种形式才是 DB2 编译运行时使用的具体形式,也是我们最终定义在 STMTKEY 中的形式。另外需要注意查询结果的第一列是该存储过程编译后在数据库内对应的包名(这里为 P1513856),我们后面需要用该包名来查看该存储过程的执行计划。

查看默认的执行计划

为了验证后续的优化概要文件会修改 DB2 默认的执行计划,我们需要先得到该 SQL 语句当前的执行计划。在这里我们使用 db2exfmt 工具,其中的 -n 选项对应我们在上述查询中得到的包名。有关该工具对应选项的详细信息,可以查看 DB2 Info Center 中相关的章节。这里,我们把原始的执行计划保存在文件 orig_plan.out 中。

清单 9.查看 SQL 语句原始执行计划的脚本

 db2exfmt -d sample -e db2inst1 -g -l -n 'P1513856' -s db2inst1 
 -o orig_plan.out -w -1 -# 0 -v % 

图 6.原始执行计划
DB2 存储过程中如何使用 Optimization Profile

上一页  3 4 5 6 7 8 9 10  下一页

Tags:DB 存储 过程

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接