[MarkLogic Dev General] Advice on improving join on attribute performance

2012-03-16 Thread Nick Tuckett
I'm evaluating MarkLogic as a possible way to store and access around 25Mb (and growing) of fairly complex XML data. For one particular type of common query for my application, I'm seeing drastically different performance between MarkLogic and eXist. I would be very grateful for any feedback or

Re: [MarkLogic Dev General] Advice on improving join on attribute performance

2012-03-16 Thread Mike Sokolov
Nick - you can also create range indexes explicitly in MarkLogic, and these will really help with the performance of joins, just as they do in eXist. -Mike On 03/16/2012 08:26 AM, Nick Tuckett wrote: I'm evaluating MarkLogic as a possible way to store and access around 25Mb (and growing) of

Re: [MarkLogic Dev General] Advice on improving join on attribute performance

2012-03-16 Thread Michael Blakeley
XPath requires evaluation of every predicate for every context item. If you are spending too much time in a predicate, refactor to remove the constant terms. for $x in collection('/db/content')//(elementa|elementb|elementc|elementd|elemente|elementf) let $xid := $x/@localisedtextid/string() let

Re: [MarkLogic Dev General] Advice on improving join on attribute performance

2012-03-16 Thread Nick Tuckett
Many thanks, Mike Mike, for the swift responses! I tried your suggestions as follows, but didn't have any joy: - Factor out the $x/@localisedtextid constant - this made the query run around 35% slower. - Replaced //text with the full path to those elements - negligible speed

Re: [MarkLogic Dev General] Advice on improving join on attribute performance

2012-03-16 Thread David Lee
...@developer.marklogic.com] On Behalf Of Nick Tuckett Sent: Friday, March 16, 2012 10:16 AM To: MarkLogic Developer Discussion Subject: Re: [MarkLogic Dev General] Advice on improving join on attribute performance Many thanks, Mike Mike, for the swift responses! I tried your suggestions

Re: [MarkLogic Dev General] Advice on improving join on attribute performance

2012-03-16 Thread Nick Tuckett
It's just shy of 1.5Mb for one language with just over 13000 entries, so that might be feasible...? We've got localised text for eight languages, so if used in production that would be about 12Mb total. ___ General mailing list

Re: [MarkLogic Dev General] Advice on improving join on attribute performance

2012-03-16 Thread David Lee
[mailto:general-boun...@developer.marklogic.com] On Behalf Of Nick Tuckett Sent: Friday, March 16, 2012 10:26 AM To: MarkLogic Developer Discussion Subject: Re: [MarkLogic Dev General] Advice on improving join on attribute performance It's just shy of 1.5Mb for one language with just over 13000 entries, so

Re: [MarkLogic Dev General] Advice on improving join on attribute performance

2012-03-16 Thread Geert Josten
-boun...@developer.marklogic.com [mailto: general-boun...@developer.marklogic.com] *Namens *Nick Tuckett *Verzonden:* vrijdag 16 maart 2012 16:28 *Aan:* MarkLogic Developer Discussion *Onderwerp:* Re: [MarkLogic Dev General] Advice on improving join on attribute performance Many thanks, David

Re: [MarkLogic Dev General] Advice on improving join on attribute performance

2012-03-16 Thread Gajanan Chinchwadkar
: [MarkLogic Dev General] Advice on improving join on attribute performance Hi Nick, I guess David is referring to the xdmp:get-server-field() and xdmp:set-server-field() functions (http://community.marklogic.com/pubs/5.0/apidocs/AppServerBuiltins.html#xdmp:get-server-field). Make sure to check whether

Re: [MarkLogic Dev General] Advice on improving join on attribute performance

2012-03-16 Thread Nick Tuckett
Marklogic standard edition 5.0-2 with an Express license. ___ General mailing list General@developer.marklogic.com http://developer.marklogic.com/mailman/listinfo/general