Hi all,
we have a collection with 18766 very small and simple documents (schema is attached), but this query:
declare namespace xs=“XML Schema”
declare default collation “collation?language=it;strength=secondary”
let $q := for $a in input()/Index[@type=“author” and @tot>0] sort by (./@order ascending)
return $a
let $name := “PIUS”
let $offset := 10
let $termPosition := 0
let $pos := xs:integer(count($q[./@order < $name])) + 1
let $delta1 := min(($pos - $termPosition, count($q)))
let $startPos := min (( max((1, $delta1)),count($q)-$offset+1 ))
let $delta2 := max(($startPos,$pos + $offset -1 - $termPosition ))
let $endPos := max( (min((count($q),$delta2)),$offset) )
return $q[position() >= $startPos and position() <= $endPos]
takes about 15 seconds (and involves 6736 documents).
This is too long! I guess this is not normal and we missed something!
Any kind of tuning suggestion is welcome.
Thanks in advance,
Pam
SchemaIndex.tsd (5.77 KB)