DB2 存储过程中如何使用 Optimization Profile
2010-09-03 00:00:00 来源:WEB开发网简介
当今主流的关系数据库管理系统都采用基于成本的优化器设计方式,DB2 优化器是这些顶级优化器中的一员。优化器对于成本的估算依赖于很多因素,包括外界因素(如:CPU 速度和并行性、I/O 存储特征、通信带宽等)和数据库内部因素(如:环境变量、优化级别、统计信息等)。而且,很多因素在系统运行过程中处于不断变化的状态,所以优化器对于最优执行计划的选择本身是一个非常复杂的过程。DB2 Optimization Profile 是 DB2 优化器的一个重要补充,对于那些通过最佳实践调优仍然无法达到预期效果的 SQL 语句,可以借助这个功能来实现对 DB2 默认执行计划的修改。它在应用程序调试和 SQL 性能调优方面具有非常大的作用。
存储过程是数据库提供的一个强大功能,它使得数据库可以实现类似高级编程语言中变量定义,条件语句,控制流语句等功能。DB2 中的存储过程是用 DB2 SQL Procedure Language (SQL PL) 来编写的。SQL PL 是 SQL Persistent Storage Module 语言标准的一个子集。该标准结合了 SQL 访问数据的便捷性和编程语句的流控制功能。定义在存储过程中的 SQL 语句和通常的 SQL 语句不太一样,其中往往包含一些输入(出)变量。对于这类 SQL 使用 Optimization Profile 时,需要一些附加的步骤才能达到预期的效果。本文将通过一个实际的例子来演示如何使用 Optimization Profile 来修改 DB2 存储过程中 SQL 语句的执行计划。
Optimization Profile 简介
Optimization Profile 又称优化概要文件,它是一个包含优化准则的 XML 文档。一个完整的 Optimization Profile 包含两部分:全局优化准则和语句级别优化准则。其基本格式如清单 1 所示:
- ››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 实战
- ››存储过程中的top+变量(downmoon)
- ››DB2 存储过程中如何使用 Optimization Profile
- ››DB2 pureScale 新特性 -- Member Restart
- ››DB2 Express-C 9.7.2 新增特性
- ››DB2 9.7 新特性 - 内联 LOB 的使用
赞助商链接