4 Replies Latest reply on Apr 12, 2019 1:47 PM by Kenny Hamilton

    xml transform - performance deteriorates over time

    Kenny Hamilton

      Hi,

       

      Oracle Enterprise 11.2.0, I have a procedure an example of which is below, we have to change the XML, when we do a run of 10,000 the performance is fine, but when we do a run of 100,000 the performance deteriorates significantly the bottleneck appears to be p_xml.transform(v_xsl). The more documents we have the higher the percentage of the time spent is in p_xml.transform(v_xsl) . The documents are not increasing in size.

       

      0 to 10 days

      -14 days to plus 50 days

       

      I have read and dome some testing and using DBMS_XSLPROCESSOR I can get better performance by caching the xsl but to implement this would be a rewrite I would like to avoid.

       

      Would any body be able to offer some assistance?

       

      Thank You

      Kenny.

       

      PROC example(p_xml IN OUT NO COPY XMLTYPE )

           v_xsl XMLTYPE;

      BEGIN

          v_xsl := xmltype('<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

                       <xsl:template match="*">

                       <xsl:copy-of select="."/>

                       </xsl:template>

                       <xsl:template match="EXAMPLE">

                       <EXAMPLE_T>

                       <xsl:apply-templates/>

                       </EXAMPLE_T>

                       </xsl:template>

                        </xsl:stylesheet>'

                        );

         p_xml := p_xml.transform(v_xsl)

      END example;