[xquery-talk] get highest number

Andrew Welch andrew.j.welch at gmail.com
Sat May 17 17:08:14 PDT 2008


2008/5/17 Michael Kay <mike at saxonica.com>:
> Performance in a database is very dependent on how many pages you read from
> disk. If there's an index that contains the node identifiers for all the
> attributes named id, and that index occupies one page, then you can evaluate
> //@id with one page access. But to evaluate max(//@id) you need to
> dereference those node identifiers, which may mean accessing one page for
> each separate id attribute.

So the index just contains the node identifiers - the actual values
for those nodes still need to be fetched from disk?  If so, if you
indexed //@id/text() and then did max(//@id/text()) would that be a
solution?

Or I guess the index should be //@id/xs:integer(.) if that makes any
difference...

-- 
Andrew Welch
http://andrewjwelch.com
Kernow: http://kernowforsaxon.sf.net/


More information about the talk mailing list