WEB开发网
开发学院数据库DB2 DB2 最佳实践: 使用 DB2 pureXML 管理 XML 数据的... 阅读

DB2 最佳实践: 使用 DB2 pureXML 管理 XML 数据的最佳实践,第 3 部分:如何高效并有效率的查询 XML 数据

 2009-11-12 00:00:00 来源:WEB开发网   
核心提示: 提示:SQL/XML 擅长对 XML 的分组和聚集, XQuery 语言没有提供一个明确的分组构造函数,DB2 最佳实践: 使用 DB2 pureXML 管理 XML 数据的最佳实践,第 3 部分:如何高效并有效率的查询 XML 数据(4),随然分组和聚集可以在 XQuery 中使用自连接表达,

提示:SQL/XML 擅长对 XML 的分组和聚集。 XQuery 语言没有提供一个明确的分组构造函数。随然分组和聚集可以在 XQuery 中使用自连接表达,但是这样做太笨拙了。你可以使用 SQL/XML 函数比如 XMLTABLE 或 XMLQUERY 来从 XML 列中抽取数据条目然后使用熟悉的 SQL 概念来再对它们加上分组和聚集的表达。

例如,让我们找出每个交易方都参加的交易号。清单 19 显示如何使用 XMLTABLE 来为后续 SQL 聚集和分组抽取 partyId 值。在 XMLTABLE 函数常常别产生相同结果,使用 SQL group by 和 聚集函数比使用普通 XQuery 得到相同的结果更有效。


清单 19. 使用 XMLTABLE 来分组和聚集

select T.partyId , count(*) 
 from trades, 
  xmltable('$TRADEDOC/FpML/party/partyId' 
   columns  
   partyId  integer   path '.' ) as T 
 group by partyId;

结果是:

PARTYID   COUNT 
 ----------- ----------- 
   67781      4 
   99114      3 
   510026      3

普通 XQuery

DB2 的所有主要应用程序编程接口(APIs)都支持 XQuery 作为首选语言,就像 SQL 一样。 XQuery 在如下情况有好处:

不需要使用 SQL 或关系型结构的 XML-only 应用程序。

从一个 XML-only 数据库迁移到 DB2 。现有的 XQueries 可以只需较小改动就在 DB2 中运行。例如,XQuery 的输入数据 , 来自 DB2 函数 db2-fn:xmlcolumn() 其它数据库可能叫做 collection() 。在这种情况下一只需要一个简单的重命名。

上一页  1 2 3 4 5 6 7 8 9  下一页

Tags:DB 最佳 实践

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