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
