Re: Performance degraded with grouping and sorting.
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]">
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?
PURCHASE STYLUS STUDIO ONLINE TODAY!
Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!
Download The World's Best XML IDE!
Accelerate XML development with our award-winning XML IDE - Download a free trial today!
Subscribe in XML format