Oracle XMLAGG性能

时间:2018-11-16 03:53:19

标签: oracle aggregate database-performance clob

表T1具有约1亿行。唯一键( Key1,Key2,Key3 )的数量约为300万。我将 field1 汇总为以逗号分隔的值,并分组在 Key1,Key2,Key3 上。尝试使用LISTAGG,但是由于4000字节的限制,开始将XMLAGG与getClobVal()一起使用以获取值作为CLOB并写入表中。它已经运行了90多分钟。目前,临时空间使用率约为10%。是否有更好的方法来提高性能?欢迎任何输入。

CREATE TABLE T1_AGGR 
AS
Select /*+ PARALLEL */
Key1, Key2, Key3, 
rtrim( 
xmlagg( 
xmlelement( e, field1 || ',' ) 
           ).extract( '//text()').getClobVal(), ',' ) dataValue
FROM T1
GROUP BY Key1, Key2, Key3;

0 个答案:

没有答案