[MarkLogic Dev General] Performance of fn:exists(fn:doc($uri))

Danny Sinang d.sinang at gmail.com
Thu Aug 30 12:13:11 PDT 2012

What I meant was, what's the fastest way to check for documents with
duplicate id's ?

On Thu, Aug 30, 2012 at 3:00 PM, Danny Sinang <d.sinang at gmail.com> wrote:

> Can anyone recommend a fast way to check for duplicate id's ?
> On Thu, Aug 30, 2012 at 2:06 PM, Geert Josten <geert.josten at dayon.nl>wrote:
>> That read-locks are URI locks, not fragment locks is something I didn't
>> know. Sounds excellent, should have known earlier..
>> And now the internal code MarkLogic uses to generate id's for all its
>> internal objects makes much more sense too..
>> Mike wrote:
>> > To put it more simply: how are you going to guarantee the uniqueness of
>> the URI, if not by checking to see if it exists?
>> I can only think of one other way, by using a write lock on a fixed uri
>> (or several fixed uri's), like always doing a
>> xdmp:document-insert('/assets/lock', <x/>) before deriving a new uri. But
>> that slows down creation processes, likely more than using the read-lock
>> approach. :-/
>> That leaves perhaps only one thing that need attention. If you already
>> have many documents, then the likeliness random comes up with an id that
>> already exists increases. The average number of attempts it needs to take
>> to find an unused number increases over time too. Luckely the range of
>> random is very large (20 digits), so you really need quite a very lot of
>> documents to even get close to 1/100000 of the space..
>> :)
>> Grtz,
>> Geert
>> _______________________________________________
>> General mailing list
>> General at developer.marklogic.com
>> http://developer.marklogic.com/mailman/listinfo/general
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://developer.marklogic.com/pipermail/general/attachments/20120830/4cc28496/attachment.html 

More information about the General mailing list