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
RIPE NIC HDL: LEXA1-RIPE

Reply via email to