全面解析IBM DB2 9中的查询优化新特性
2008-08-30 16:25:53 来源:WEB开发网SQL PL 过程包含的 SQL 语句具有一些执行属性,例如隔离级别或优化级别,这些属性只能通过 DB2_SQLROUTINE_PREOPTS 注册表变量来覆盖。也可以用 SYSPROC.SET_ROUTINE_OPTS 过程覆盖该选项。要激活一个概要文件,可以使用该存储过程来关联指南。
5.对于 C/C++ 应用程序中的嵌入式SQL:
对于嵌入式 C/C++ 应用程序,使用 OPTPROFILE 绑定选项。 嵌入式 SQC 程序需要使用 PREP 命令来编译,该命令将创建绑定文件。这个绑定文件需要通过 OPTPROFILE 选项绑定到数据库,例如:
bind prog1.bnd OPTPROFILE KCHEN.PROF
6.对于含嵌入式静态 SQL 语句的 SQLJ 应用程序:
在定制阶段使用 BINDOPTIONS 参数关联概要文件。这个静态 SQLJ 程序 prog1 被按如下所示进行翻译和编译:
sqlj prog1.sqlj
db2sqljcustomize -url jdbc:db2://SERVER:PORT/SAMPLE -user USER -password PASSWORD
-bindoptions "OPTPROFILE KCHEN.PROF1" -storebindoptions prog1_SJProfile0
所有使用旧的 JDBC 驱动程序的 JDBC 程序,都将使用 db2cli.ini 中的设置。使用 Universal JDBC 驱动程序的 JDBC 程序属于上述的第 3 类情况。需要注意的是,由于 SQLJ 为 SELECT SQL 语句生成一个隐式的 “DECLARE CURSOR” 子句,因此,为了使指南得到应用,优化概要文件除了包括 SELECT 语句外,还需要包括 “DECLARE CURSOR” 子句。
当应用程序执行时,将 SQL 与活动的概要文件中的指南相比较。如果存在一个匹配的 STMTKEY ,指南就会开始起作用;反之,假如指南被认为是不适用的或无效的,那么就会返回一个 rc = 13 的 SQL0437W。DB2 Explain 工具对于帮助确定指南是否被选择非常有用。Explain 的输出会指明优化概要文件的名称和有效的指南。概要文件中的指南通常覆盖用于应用程序设置的常规优化,从而使概要文件能够更好地控制计划评估。
更多精彩
赞助商链接