Here are some queries that are similar to the code I was talking about. XPath (0.04 secs) xquery version '1.0-ml'; let $key := "mykey" let $lang-code := "spa"
return fn:collection()/resource-bundle/resource [@key = $key] [fn:lang($lang-code)] cts (0.015 sec) xquery version '1.0-ml'; let $key := "mykey" let $lang-code := "spa" return cts:search(fn:collection()/resource-bundle/resource, cts:element-attribute-value-query(xs:QName("resource"), xs:QName("key"), $key, "exact")) [fn:lang($lang-code)] The expression that takes the most time in the XPath version is "@key = $key". What I'm curious about is just what cts does so differently that the XPath engine doesn't, because I am noticing quite a disparity between them given the same data and same queries effectively (which is ok, I don't have an XPath problem, just wondering why the difference). -Ryan > From: kelly.stir...@marklogic.com > To: general@developer.marklogic.com > Date: Thu, 12 May 2011 08:59:13 -0700 > Subject: [MarkLogic Dev General] Why is cts:search so much faster than XPath? > > Equivalent XPath and cts:search expressions should perform the same. Can you > share an example, and what version you are using? > > If they are equivalent and there is a performance difference, then there may > be a bug. > > Kelly > > Message: 5 > Date: Thu, 12 May 2011 09:05:16 -0600 > From: "seme...@hotmail.com" <seme...@hotmail.com> > Subject: [MarkLogic Dev General] Why is cts:search so much faster than > XPath? > To: <general@developer.marklogic.com> > Message-ID: <snt121-w423bd38403eb7f1aded8d5b7...@phx.gbl> > Content-Type: text/plain; charset="iso-8859-1" > > > I wrote awhile ago that I thought it was usually best to use search:search > for full text searching, cts:search for node selection out of the db, and > XPath for node selection within a document. I just ran into a situation that > doing the same query for nodes in the DB using cts:search was 6 times faster > than using XPath. > > So what is it about cts:search that makes it so fast? I assume that there are > optimizations under the covers, but how is cts:search able to gain from the > optimizations but XPath is not? Just curious. > > -Ryan > _______________________________________________ > General mailing list > General@developer.marklogic.com > http://developer.marklogic.com/mailman/listinfo/general
_______________________________________________ General mailing list General@developer.marklogic.com http://developer.marklogic.com/mailman/listinfo/general