[MarkLogic Dev General] Large Queries and Timeouts
Michael Blakeley
michael.blakeley at marklogic.com
Tue Nov 13 08:33:10 PST 2007
Dominic,
There are two key concepts here. First, every document your query
accesses may need to be fetched from disk. Disks are only so fast, so
finishing 20,000 I/O operations may take some time. Second, every
document accessed by your query must fit into the expanded-tree cache.
To simply list a large number of URIs, you can avoid I/O by using
cts:uris().
http://developer.marklogic.com/pubs/3.2/apidocs/SearchBuiltins.html#uris
But it sounds like you might want to do something with these URIs. Now,
you can always increase the size of the expanded-tree cache, and you can
always increase the request time limit. But there will always be limits
to what you can do in a single query (RAM, mostly: the expanded tree
cache is just a pool of RAM). So you might be interested in XQSync and Corb.
http://developer.marklogic.com/howto/tutorials/2006-08-xqsync.xqy
http://developer.marklogic.com/svn/corb/trunk/README.html
-- Mike
Dominic Beesley wrote:
> Hello,
>
> This is my first post to the list so please be gentle!
>
> I've built an ML application that works well up until a point (about 20,000
> smallish documents + 100 or so bigger ones) and then I've started hitting a
> lot of long running queries and the dreaded Expanded Tree Cache full
> message.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 4532 bytes
Desc: S/MIME Cryptographic Signature
Url : http://xqzone.marklogic.com/pipermail/general/attachments/20071113/b506ff29/smime.bin
More information about the General
mailing list