One item that was not available in the Query Performance and Tuning Guide was
"For modules that are running in read/write mode, we should try to
separate code out into separate modules such that the read/write
portion is isolated and reads/writes as few records as possible per
invocation.  This will minimize the number of records that need to be
locked at a particular point in time."

I would need such performance tuning tips as well that are not
captured in the Marklogic performance document.

More details available below:
"Ensuring that “read-only” xqueries (basically, any of our service GET
methods that simply return information) actually run as “read-only”.

We can tell whether a particular module is running read-only or
read/write by using log statements similar to the following
(obviously, substituting the proper module name):
xdmp:log(if(xdmp:request-timestamp()) then “test.xqy Read-Only” else
“test.xqy Read/Write”)

This method returns the timestamp in effect for the query for read
modules, and returns an empty sequence for modules that are
read/write.

So, by adding this statement to any of our existing queries, you
should see an entry in the ErrorLog that looks something like:
2011-02-11 14:24:04.695 Info: Server: test.xqy Read Only"


On 2/28/11, Vedavalli Radhika <[email protected]> wrote:
> Hi,
>
> Are there any Marklogic XQuery optimization checklist or standards
> available?
>
> Apart from the "Query Performance and Tuning Guide" provided by
> Marklogic, is there any optimization hints readily available that can
> be used as a code review checklist?
>
> I would require one in the performance tuning/optimization perspective.
>
> For example: Few items can be 1. Use cts:contains() instead of
> contains() 2. Avoid XPath reverse axes etc.,
>
> Thanks,
> Radhika.
>
_______________________________________________
General mailing list
[email protected]
http://developer.marklogic.com/mailman/listinfo/general

Reply via email to