[Home] [By Thread] [By Date] [Recent Entries]

Subject: Re: Performance degraded with grouping and sorting.
From: Geert Josten <Geert.Josten@xxxxxxxxxxx>
Date: Sat, 30 Oct 2004 12:16:35 +0200
Oh wait, why not predict the performance myself..

In the original code the grouping algorithm starts with picking the first of each ACCT_NBR:

<xsl:for-each select="PROJECTION[count(. | key('group-by-accountnbr', ACCT_NBR)[1]) = 1]">

Well, that is a *very* expensive operation. The index is accessed for _each_ PROJECTION elements, so
about 2000 times! And if each distinct ACCT_NBR 'contains' about 10 PROJECTIONs, 9 out of 10 times
the predicate gives the same result. Very inefficient... :-(

Unfortunatily, I can't think of any other way of determining the first of a group other than
variations on this theme or performing sorting in a previous step and using the index on first items
I suggested.

Anyone good ideas?

Grtz,
Geert

Current Thread
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member