jackrabbit-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alex Lukin <lu...@stu.cn.ua>
Subject XPath query performance yet another time.
Date Mon, 11 Feb 2008 21:50:07 GMT
Hi, all!

Query performance that involves operations with path is awfully bad.
Performance of query execution without path element better but not acceptable too.
My test results below.

About repository content. It is quite simple. Repository contains small articles (topics)
in category hierarchy. Topic itself is node with properties and few subnodes.
Hierarchy of categories has 3-5 levels.  My tests was conducted on appr. 1000 topic nodes
in appr. 40 categories. Categories are created by user so I can not know
how much levels hierarchy has.

Queries and execution times:

1.  "/jcr:root/myContent/en/topics//*/my:topic" - 110 seconds.
2.  "//topics/*/my:topic"  - 43 seconds
3.  "//element(my:topic)"  - 12 seconds.

If query contains some parameters times do not go much worse.
There's almost no disk activity and processor load is 100% during query execution.
Must be mentioned that repository reading by webdav browser is quite fast even in time of
query execution.

My quick and dirty function that just traverses  all tree from /jcr:root/myContent/en/topics
 without any caching gives result in 120 ms first time and
30 ms next times. 

I tested SQL queries and performance approximately is between query #2 and #3.  Should be
said that SQL is quite buggy and cannot be used.

I do not know what to do with such performance becuse my application useless with such time
of execution. What causes  this incredible slowness?
If it is "famous" Lucene engine so there's no reason to jump to exo's JCR implementation.
SY, Alex Lukin

View raw message