DB2 9.5 SQL Procedure Developer 认证考试 735 准备,第6部分:DB2开发工具
2010-02-18 15:01:07 来源:WEB开发网示例 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
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
- ››SQL SERVER无法安装成功,sqlstp.log文件提示[未发...
- ››Sql Server中通过父记录查找出所有关联的子记录
- ››SqlServer触发器、存储过程和函数
- ››SQL Server 中的事务(含义,属性,管理)
- ››Sqlite数据库插入和读取图片数据
- ››Sql server 2005拒绝了对对象 'xx表' (数...
- ››Sql server 2005拒绝了对对象 'xx表' (数...
更多精彩
赞助商链接