[MarkLogic Dev General] Is fn:doc-available() high performance, or should we use something else like cts:uri-match()?
Michael Blakeley
mike at blakeley.com
Thu Mar 1 13:30:47 PST 2012
It looks to me like doc-available($uri) is equivalent to xdmp:exists(doc($uri)) now. Either expression results in a simple list-cache lookup, with no tree fetches and no reliable difference in elapsed-time.
If you use a uri lexicon, probably something like exists(cts:uris($uri, 'limit=1')) will be faster than cts:uri-match($uri). But I think there might be cases where doc-available is cached and the lexicon lookup is not, so the lexicon lookup may not always be faster than doc-available.
-- Mike
On 1 Mar 2012, at 13:25 , Danny Sokolsky wrote:
> xdmp:exists(fn:doc("/my/uri.xml"))
>
> will be fast.
>
> The uri lexicon functions are also a good choice.
>
> -Danny
>
>
>
> From: general-bounces at developer.marklogic.com [mailto:general-bounces at developer.marklogic.com] On Behalf OfDavid Swearingen
> Sent: Thursday, March 01, 2012 1:15 PM
> To: general at developer.marklogic.com
> Subject: [MarkLogic Dev General] Is fn:doc-available() high performance, or should we use something else like cts:uri-match()?
>
> We have a system with a million or so records. When attempting to discern if a doc with a given uri is in the system, what's the fastest method? Thanks.
>
>
> _______________________________________________
> General mailing list
> General at developer.marklogic.com
> http://developer.marklogic.com/mailman/listinfo/general
More information about the General
mailing list