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:设置参数以指示查询编译器收集解释信息和填充 explain 表,对于 SQL语句,DB2 9.5 SQL Procedure Developer 认证考试 735 准备,第6部分:DB2开发工具(9),您可以使用:db2 set current explain mode explain,这将使 DB2 进入解

步骤 2:设置参数以指示查询编译器收集解释信息和填充 explain 表。

对于 SQL语句,您可以使用:db2 set current explain mode explain。这将使 DB2 进入解释模式,并且将收集所有后续查询中的解析数据而无需实际运行这些查询。在完成步骤 4 中的访问计划时记得要运行db2 set current explain mode no,这样所有查询都将再次运行。

对于 SQL PL过程,请使用以下方法之一:

(推荐)在DB2 会话级别调用SYSPROC.SET_ROUTINE_OPTS 以设置解释指令,以便控制仅在当前会话中需要解释的过程。如果要在步骤 3 中运行的文件的顶部包含命令 CALL SYSPROC.SET_ROUTINE_OPTS('EXPLAIN ALL');,则可以跳过此步骤

在实例级别上设置 DB2_SQLROUTINE_PREPOPTS,以便解释创建的每个过程。记住:在实例级别上设置此选项要求重新启动数据库,并且它将影响所有用户和语句。使用: $ db2set DB2_SQLROUTINE_PREPOPTS="EXPLAIN ALL EXPLSNAP ALL"
$ db2stop
$ db2start

步骤 3:运行所需的工作负载。您可以运行独立的语句,也可以创建并运行含有多个SQL/XPATH语句或 SQL PL 例程的文件。例如,要运行名为myscript.db2的示例文件,请输入 db2 -td@ -vf myscript.db2。

图 23. myscript.db2 文件的内容

步骤 4:使用db2expln或db2exfmt 工具提取 Explain Plan 以将 explain 表的内容的格式设置为:db2exfmt -d sample -g TIC -w -1 -n % -s % -# 0 -o exfmt_output.out。

图 24 显示了步骤 2 到步骤 4的汇总,显示了在CLP 窗口中查看使用DB2EXFMT执行此过程的结果。

图 24. 示例 1的 myscript.db2 文件

过程 NUMBER_OF_ORDERS的访问计划的详细信息位于 exfmt_output.out 文件中。通过使用这些信息,您可以看到正在使用的索引有哪些以及关于此查询的其他性能注意事项。

图 25 显示了使用DB2EXPLN 时得到的类似结果。例如,您在前几个步骤中创建的过程是使用DB2EXPLN 从命令行直接调用的。使用以下命令在终端生成并显示输出:db2expln -d sample -statement "call number_of_orders ('Shipped', current date, ?)" –terminal。

图 25. DB2EXPLN语句将调用过程

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

Tags:DB SQL Procedure

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