DB2 最佳实践: 使用 DB2 pureXML 管理 XML 数据的最佳实践,第 3 部分:如何高效并有效率的查询 XML 数据
2009-11-12 00:00:00 来源:WEB开发网一个在 TRADES 表中 TRADEID 列上的一个普通的关系型索引有助于加速内置 SQL 查询。
提示:DB2 VERSION 9.5 可以同时使用 XML 和关系型索引,就像内置 SQL 语句的关系索引加上 XML 谓词 $t/termDeposit/principal/currency= ” EUR ”的一个 XML 索引。
得到你想要的 XML 查询结果
根据你如何编写一个特定的查询,DB2 能以不同的格式传输查询结果。例如,普通 XQuery 在结果集中以每行一个条目来返回(比如元素或文档片段),即使有多个条目来自于在数据库中的相同文档。另一方面,SQL/XML 函数 XMLQUERY 可以在一行中返回多个条目。让我们看一些例子,在清单 21(SQL/XML)和清单 22(XQuery)中的查询都需要每个交易文档中 partyIds 。在清单 21 中的查询对表中的每个交易文档返回一行,而且在每一行中都包括文档中的两个 partyId 元素。来自相同文档的 partyIds 不能分成两行返回,因为这是一个 SQL select 语句,而且对每个匹配的输入行不能产生超过一行的输出:
清单 21. 每行一篇文档
select XMLQUERY('$TRADEDOC/FpML/party/partyId') from trades;
结果集:
<partyId>510026</partyId><partyId>67781</partyId>
<partyId>510026</partyId><partyId>99114</partyId>
<partyId>99114</partyId><partyId>67781</partyId>
<partyId>510026</partyId><partyId>67781</partyId>
<partyId>99114</partyId><partyId>67781</partyId>
另一方面,在清单 7 中的查询用分开的两行来返回每个 partyId 。这是因为一个 XQuery 返回一系列条目甚至多个源自于相同文档的条目。
- ››db2 对float类型取char后显示科学计数法
- ››DB2中出现SQL1032N错误现象时的解决办法
- ››DB2 锁升级示例
- ››db2诊断系列之---定位锁等待问题
- ››db2 命令选项解释
- ››最佳ASP.NET编程习惯
- ››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 数据模型
更多精彩
赞助商链接