性能提示

遵循这些提示以在使用 XPath、XQuery 和 XSLT 时改善性能。

表 1. 性能提示. 遵循这些提示以改善性能。
语言 提示
XPath 使用 // 可能是开销很大的操作。使路径更明确(使用 a/b/c 而不是 a//c)可提高性能。 当路径在大型文档根处或接近大型文档根处开始时,这尤其重要。
由于 last() 函数需要对序列进行全面求值来计算各项,因此它的开销可能很高。
通常,具有常量值的位置谓词(例如 [3])比具有计算的值或从变量检索的值的位置谓词更为有效。
XQuery 如果查询导入一个或多个模式,且将多次执行相同查询,那么考虑在 XQueryExecutable 实例上调用 registerImportedSchemas 方法。 如果未调用 registerImportedSchemas,那么每次调用其中一种执行方法时,都将加载导入的模式。缺省情况下,导入的模式仅可用于验证结果树;但调用此方法具有与向 XFactory 注册模式相同的效果,这表示它们将用于验证输入文档。
XSLT 访问参数的速度比访问变量的速度慢。如果不需要在外部提供参数的值,那么使用变量。
使用 xsl:key 元素和 key() 函数可能是一种检索节点集合的有效方式。
通常,模式匹配和应用模板分派比 xsl:if 或 xsl:when 语句速度快。
通常,匹配模式中的位置谓词开销很高。
一般情况下,处理更为简单的匹配模式(例如“address”)的开销比处理复杂的匹配模式(例如“ /purchaseorder/shipping/customer/postal/address ”)的开销低。利用您对文档结构和样式表行为的了解避免进行不必要的过度指定。
对于某些数据模型,必须在文档导航期间而不是文档加载期间应用 xsl:skip-space 操作。这可能会增加执行时间开销。
如果样式表导入一个或多个模式,且将多次执行相同样式表,那么考虑在 XQueryExecutable 实例上调用 registerImportedSchemas 方法。 如果未调用 registerImportedSchemas,那么每次调用其中一种执行方法时,都将加载导入的模式。缺省情况下,导入的模式仅可用于验证结果树;但调用此方法具有与向 XFactory 注册模式相同的效果,这表示它们将用于验证输入文档。
XPath、XQuery 和 XSLT 取消编码和编码的开销很高。通常,相对于其他编码,可以更快速地读取和写入 UTF-8 和 UTF-16。

指示主题类型的图标 概念主题



时间戳记图标 最近一次更新时间: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cxml_perf_tips
文件名:cxml_perf_tips.html