I've been running some performance tests with jackrabbit and while my
tests aren't extensive by any means, I do notice a significant difference
with my date comparison queries. My query is of the type:
"/jcr:root/a/b//element(*,test:aNodeType)[EMAIL PROTECTED]:effectiveDate
>='2005-06-07T11:49:40.641-05:00']"
or
"/jcr:root/a/b//element(*,test:aNodeType)[EMAIL PROTECTED]:effectiveDate
>=xs:dateTime('2005-06-07T11:49:40.641-05:00')]"
The queries are taking on the average of 5.6 secs for the former and 8.8
secs for the latter. The repository is populated with 126000 nodes and my
query will return 61000 nodes. I've removed retrieval of any nodes and
properties (if I include them, the time jumps to minutes). I haven't
profiled yet to see where the time is being spent, but I was wondering if
others were experiencing similar results or had an idea of what might be
happening.
As an aside has there been a proposal to the EG for deferred
versionHistory and rootVersion creation? While above I say I have 126000
nodes in the repository, I really have 835000 nodes in the repository and
126000 under /jcr:root/a. Of the remaining ~700000 nodes, there are
approximately 800 nodetype nodes and the rest are for versionStorage. All
custom nodeTypes are mix:versionable. Is adding the mix:versionable
dynamically on checkin (having to check if it exists first) the
recommended way to defer the versionStorage node proliferation?....since
many nodes are automatically created on node save (this would probably
considerably improve my create performance as well).
David
Marcel Reutegger <[EMAIL PROTECTED]> wrote on 05/05/2006 04:02:00
AM:
> Nicolas wrote:
> > forgot to say that the search was done on a node property. Here's an
xml
> > export fragment:
> >
> > <sv:property sv:name="vStartDate"
> >
sv:type="Date"><sv:value>2006-05-04T09:00:58.000+09:00</sv:value></sv:property>
> >
> >
> > and the search is:
> > ... and @vStartDate>'2006-05-05T11:32:22.000+09:00']
>
> try using the xs:dateTime() function this prevents jackrabbit from doing
> type conversions and indicates the desired type right away:
>
> ... and @vStartDate > xs:dateTime('2006-05-05T11:32:22.000+09:00')]
>
> regards
> marcel