WEB开发网
开发学院数据库DB2 DB2 9.5 SQL Procedure Developer 认证考试 735 准... 阅读

DB2 9.5 SQL Procedure Developer 认证考试 735 准备,第6部分:DB2开发工具

 2010-02-18 15:01:07 来源:WEB开发网   
核心提示:示例 2要获得 SQL 例程(例如过程和函数)中的 SQL语句的更多详细信息,您只可以执行例程的查询部分,DB2 9.5 SQL Procedure Developer 认证考试 735 准备,第6部分:DB2开发工具(10),并通过Explain Mode和DB2EXFMT 工具运行它,下面介绍了如何遵循本教程中定义

示例 2

要获得 SQL 例程(例如过程和函数)中的 SQL语句的更多详细信息,您只可以执行例程的查询部分,并通过Explain Mode和DB2EXFMT 工具运行它。下面介绍了如何遵循本教程中定义的步骤:

步骤 1:确保创建或手动创建 Explain 表。

步骤 2:指示 DB2 优化器收集解释数据,而无需使用db2 set current explain mode explain 实际运行SQL语句

步骤 3:通过上面创建的 NUMBER_OF_ORDERS过程运行select语句。为了简单起见,用硬编码值替换 IN 参数,并删除 OUT 参数。使用db2 "SELECT count (poid) FROM PURCHASEORDER WHERE ucase (status) = ucase ('Unshipped') AND orderdate < CURRENT DATE"

在运行这条 select语句后,您将看到以下警告消息,表示语句已经被解释但是尚未执行:SQL0217W The statement was not executed as only Explain information requests are being processed. SQLSTATE=01604

记住要使用db2 set current explain mode no 关闭 explain plan 模式。

步骤 4:像在第一个示例中一样,使用db2exfmt命令生成文本输出:db2exfmt -d sample -g TIC -w -1 -n % -s % -# 0 -o exfmt_output.out

图 26 显示了得到的汇总屏幕。

图 26. 使用Explain 模式和DB2EXFMT 解释 SQL语句

所有详细说明信息位于 DB2EXFMT 生成的 exfmt_output.out 文件中。查看文本文件并查找可能的性能改进。这些信息被分为多个部分,包括 Database and Package Context、Original and Optimized语句、Access Plan、Plan Details、Objects Used in Access Plan、Extended Diagnostic Information 等等。图 27 显示了该文件生成的 Access Plan 字符样式图。

图 27. 用字符样式图显示 Access PlaN

上一页  5 6 7 8 9 10 

Tags:DB SQL Procedure

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