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

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

 2010-09-03 00:00:00 来源:WEB开发网   
核心提示: 在 OPTGUIDELINES 元素内可以指定 DB2 对某个表的访问方式(表扫描或索引扫描),可以修改 Join 的顺序和方法,DB2 存储过程中如何使用 Optimization Profile(3),可以指定查询重写的规则等,当要执行的 SQL 语句和定义在 STMTKEY 中的内容完全匹

在 OPTGUIDELINES 元素内可以指定 DB2 对某个表的访问方式(表扫描或索引扫描),可以修改 Join 的顺序和方法,可以指定查询重写的规则等。当要执行的 SQL 语句和定义在 STMTKEY 中的内容完全匹配后,对应 OPTGUIDELINES 中的所有优化规则都会应用到该 SQL 执行计划的生成上。

修改存储过程中 SQL 语句的执行计划

对于定义在存储过程中的 SQL 语句,其在形式上具有一定的特殊性,例如常常包含一些输入(出)变量,这类 SQL 语句不能直接被用作 STMTKEY。DB2 在编译这些语句的时候,会把其中的变量转换成内部的表示形式,然后把该内部形式作为最终编译执行的版本。如果把初始的 SQL 语句作为 STMTKEY,而 DB2 在编译执行时用其内部表示形式去进行匹配,必然不会成功。所以,需要首先找到这些语句在数据库内部的表示形式,然后将该内部表示形式作为 STMTKEY 来创建优化概要文件。以下是详细的步骤:

测试环境

操作系统:AIX6.1

DB2 版本:V9.7

数据库:DB2 自带 SAMPLE 数据库

本文中的所有示例都基于运行在 AIX6.1 操作系统上的 DB2 V97 实现,对于其他操作系统上的实现与此类似。

准备测试数据库

SAMPLE 数据库是 DB2 自带的一个小型示例数据库。如果在安装 DB2 时没有选择安装该数据库,可以进入当前实例的 sqllib/bin 目录,然后运行 db2sampl命令自行创建。

图 1.创建测试数据库
DB2 存储过程中如何使用 Optimization Profile

上一页  1 2 3 4 5 6 7 8  下一页

Tags:DB 存储 过程

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