对 pureXML 应用程序应用 DB2 优化准则
2010-03-22 00:00:00 来源:WEB开发网每个 XML 概要文件的开始部分是一个 OPTPROFILE 标记,其中包含元数据,比如表示所用 COPS 的版本的属性。
清单 3 展示了全局优化准则部分中的一个示例准则。该例中的准则指定应该被设置为 ALWAYS 的 REOPT 绑定选项。REOPT 绑定选项将影响其中包含参数标记或主机变量的语句的优化。将 REOPT 设置为 ALWAYS 后,将针对每次执行重新编译语句。在一个有效概要文件中,至多有一个 Global Optimization Section。
语句概要文件部分(statement profile section)是可选的。在指定语句概要文件部分后,可以使用 STMTPROFILE 标记包含一个或多个语句概要文件,并包含适用于特定 SQL 查询的准则。每个语句概要文件包含以下内容:
一个 STMTKEY 元素,它标识出必须应用准则的语句。
一个 OPTGUIDELINES 元素,描述准则本身。
STMTKEY 元素中定义的语句必须精确匹配其访问计划必须受到影响的语句,但是允许出现不同的空白。不支持在 STMTKEY 中使用通配符影响语句组。每一条需要影响的语句都要求具有一个单独的 STMTPROFILE 部分。如果有超过一个 STMTPROFILE 部分匹配某个正在执行的语句,那么将选择并应用出现的第一个准则。清单 3 包含了一个优化准则,指定 STMTKEY 中的查询应该选择一个 XANDOR (XML Index Anding and Oring) 计划。
由于 STMTKEY 元素中的语句包含特殊的 XML 字符 < and >,因此需要用一个 CDATA 部分将查询文本包围起来,CDATA 的开始部分为 <![CDATA[,结束部分为 ]]>,如上面的 清单 3 所示。
从优化准则中的查询引用表
优化概要文件中的 guidelines 部分使用户能够为特定表指定一个操作,比如针对该表的访问方法,或者将表指定为一个连接的 outer leg 或 inner leg,等等。重要的是要正确地识别您希望影响的表。可以根据表名或经过优化后的 SQL 语句中的限定符(quantifier)编号识别表,SQL 语句显示在由 db2exfmt 工具生成的执行计划中。使用表名比较简单,但是使用表标识符的功能更加强大,因为它可以指代一个派生的限定符,比如一个 “xmlexists” 谓词。
更多精彩
赞助商链接