什么是更快... DBMS_XMLDOM vs appendchildxml

时间:2014-10-29 15:22:05

标签: xml oracle plsql

我需要在PL-SQL中创建一个非常大的xml文件(最多100k个节点)。 哪种方式更快? DBMS_XMLDOM还是appendchildxml?

1 个答案:

答案 0 :(得分:1)

我们同样使用Oracle 11g R2,我们创建一个XML文档用于报告目的。整个过程即。来自数据库的检索重组数据和程序集输出XML文档,耗时130秒。

我们假设第一阶段,即。 检索,可能会占用大部分时间,因此我们对此进行了优化,并将总时间缩短了40秒,降至约90秒。

我们感到惊讶的是它仍然“缓慢” - 所以我们调查了重组汇编阶段,我们惊讶地发现大部分时间都是由程序集阶段采用,随着文档的增长,每个appendchildxml语句都会逐渐变慢。

因此我们删除了 appendchildxml 并将其完全替换为dbms_xmldom代码。

令人高兴的是,这一变化使整个过程减少到仅9秒,即。减少一个数量级。

基于我们在dbms_xmldom数据库上看到的这个和其他性能提升,我建议使用dbms_xmldom。