WEB开发网
开发学院数据库DB2 DB2 9中15个pureXML性能最佳实践 阅读

DB2 9中15个pureXML性能最佳实践

 2010-02-18 15:01:05 来源:WEB开发网   
核心提示:DB2 9引入了pureXML支持,这意味着XML数据将以其固有的层次格式被存储和查询,DB2 9中15个pureXML性能最佳实践,为了查询 XML数据,DB2 提供了两种语言,然而,如果通常一次只处理一个部门,SQL/XML和XQuery,此外

DB2 9引入了pureXML支持,这意味着XML数据将以其固有的层次格式被存储和查询。为了查询 XML数据,DB2 提供了两种语言,SQL/XML和XQuery。此外,DB2 9 还具有成熟的XML 索引功能和对 XML 模式验证的支持。虽然大多数已有的关于DB2性能的指南同样适用于XML数据,但是本文还将提供其他一些特定于XML的性能方面的提示。

简介

DB2 9中的pureXML支持为管理XML数据提供了有效的、多方面的功能。对于很多XML应用程序而言,性能是高度优先考虑的一个方面。DBA和应用程序设计人员都可以通过他们份内的工作来确保良好的性能。首先,我们有关于DB2 各个方面的所有传统的性能指南,包括 CPU/内存/磁盘配置的平衡、表空间和缓冲池的调优、锁、日志记录、查询执行计划等。所有这些话题在之前的DB2 文章里都曾论述过(见参考资料),并在管理 DB2中的XML数据时仍然适用。

幸运的是,这些问题当中有很多问题是由 DB2的自治存储和自调优内存管理等自治功能来处理的。它们为很多应用程序提供了高水平的性能,要求的手动干预很少。但是,具有更高性能需求的XML应用程序还可以从其他性能方面的考虑当中受益。本文集中讨论这方面的情形,同时给出为DB2 9中与 XML 相关的应用程序取得最佳性能的提示和指南。

本文将讨论和阐述15个XML性能提示(排序不分先后)。这15个提示涵盖了很多领域,但是经验表明,存在性能问题的应用程序通常只需要应用其中一两个提示就能达到所需的性能。

提示1:理智选择XML 文档的粒度。

提示2:为了取得更好的XML性能,使用DMS和更大的页。

提示3:必要时,如何将XML数据放入一个单独的表空间中。

提示4:如何配置 DB2,以便快速地成块插入XML数据。

提示5:使用新的快照监视器元素检查XML性能。

提示6:了解 XML 模式验证的开销。

提示7:在XPath 表达式中,尽可能使用全限定路径。

提示8:定义倾斜的XML 索引,并避免为任何东西都建索引。

提示9:将文档过滤谓词放入XMLEXISTS中,而不是放入XMLQUERY中。

提示10:使用方括号 [ ]来避免 XMLEXISTS中的Boolean 谓词。

提示11:使用RUNSTATS 收集 XML数据和索引的统计信息。

提示12:如何使用SQL/XML 发布视图将关系数据暴露为XML。

提示13:如何使用XMLTABLE 视图以关系格式暴露 XML数据。

提示14:对于短小的查询或 OLTP应用程序,使用带参数占位符的SQL/XML语句。

提示15:避免 XML 插入和检索期间出现代码页转换。

在对这些性能提示的讨论中,我们假设您熟悉基本的DB2 管理和性能实践,并熟悉基本的DB2s pureXML 支持。例如,您应该知道 XML 列、XML 索引,以及如何用SQL/XML和 XQuery 查询 XML数据。

DB2 XML性能提示

提示1: 理智选择XML 文档的粒度

当设计 XML应用程序和 XML 文档结构时,您可能面临将哪些业务数据放在一个单独的XML 文档中的选择。例如,在下面的部门表中,我们为每个部门使用一个 XML 文档(中等粒度)。如果部门是应用程序访问和处理数据所依赖的主要粒度,那么这是合理的选择。或者,我们也可以决定将多个部门组合到一个 XML 文档中,例如,将属于同一个单位的部门放入一个 XML 文档中(粗粒度)。然而,如果通常一次只处理一个部门,那么这种粒度带来的性能就是次优的。

表 1. 创建表 dept( unitID char(8), deptdoc xml)

unitID deptdoc
WWPR <dept deptID='PR27'>
  <employee id='901'>
   <name>Jim Qu</name>
   <phone>408 555 1212</phone>
  </employee>
  <employee id='902'>
   <name>Peter Pan</name>
   <office>216</office>
  </employee>
</dept>
WWPR <dept deptID='V15'>
  <employee id='673'>
   <name>Matt Foreman</name>
   <phone>416 891 7301</phone>
   <office>216</office>
  </employee>
  <description>This dept supports sales world wide</description>
</dept>
S-USE ...
... ...

1 2 3 4 5 6  下一页

Tags:DB pureXML 性能

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