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 对float类型取char后显示科学计数法
- ››DB2中出现SQL1032N错误现象时的解决办法
- ››DB2 锁升级示例
- ››db2诊断系列之---定位锁等待问题
- ››db2 命令选项解释
- ››DB2 最佳实践: 使用 DB2 pureXML 管理 XML 数据的...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 基础: 表空间和缓冲池
- ››DB2 XML 编程,第 1 部分: 理解 XML 数据模型
- ››DB2 pureScale 实战
更多精彩
赞助商链接