I've come across some unexpected (to me!) behaviour of the TDB Optimizer and 
wondering if someone could shed any light on it.

For our database, (around 30 million triples, 350-odd different predicates, 
around 50 named graphs, using UnionDefaultGraph - everything is in a named 
graph), we've found that including the stats.opt file makes some queries 
significantly slower than having no optimizer.

Some relatively complex queries run quite quickly and probably a bit quicker 
with optimization than without.  But in other cases,  quite simple queries  run 
a lot slower - maybe 10 or 20 times slower with stats.opt in place than they do 
without it.

Is this known behaviour?

Here's an example: 

SELECT ?key ?label WHERE { <a-specific-uri> ?p ?key . ?key 
<http://www.w3.org/2000/01/rdf-schema#label> ?label }

This query took around 30 seconds with stats.opt in place, and less than 2 
seconds without it. (Some of that 2 seconds would have been HTTP transfer and 
web page rendering time).

We're currently running TDB 0.8.9 and Joseki 3.4.3 on 64 bit Ubuntu.  (Though 
I've found similar behaviour on 32-bit Ubuntu with slightly older versions of 
TDB and Joseki).

Thanks!

Bill

Reply via email to