[ 
https://issues.apache.org/jira/browse/JENA-2228?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17464990#comment-17464990
 ] 

Andy Seaborne edited comment on JENA-2228 at 12/24/21, 11:03 AM:
-----------------------------------------------------------------

[PatternMatchTDB2|https://github.com/apache/jena/blob/main/jena-db/jena-tdb2/src/main/java/org/apache/jena/tdb2/solver/PatternMatchTDB2.java]

A count query with just a pattern does not retrieve nodes from thenode table, 
it simple counts rows returned, which contain NodeIds, not Nodes. BindingTDB 
delays retrieval until needed.

The pattern part is evaluated with NodeIds.

After the first run, the URIs will be in the Node table cache.

LIMIT 1000 is a no-op - the query only has one row as a result.

bq. take Nodes as parameters are never used.

Seems likely. The translation to NodeIds is done elsewhere.

The indexes will be accessed.


was (Author: andy.seaborne):
[PatternMatchTDB2|https://github.com/apache/jena/blob/main/jena-db/jena-tdb2/src/main/java/org/apache/jena/tdb2/solver/PatternMatchTDB2.java]

A count query with just a pattern does not retrieve nodes from thenode table, 
it simple counts rows returned, which contain NodeIds, not Nodes. BindingTDB 
delays retrieval until needed.

The pattern part is evaluated with NodeIds.

After the first run, the URIs will be in the Node table cache.

LIMIT 1000 is a no-op - the query only has one row as a result.

> take Nodes as parameters are never used.

Seems likely.  The translation to NodeIds is done elsewhere.

The indexes will be accessed.

> Does Fuseki2 use TDB indexes or indexes for in-memory store?
> ------------------------------------------------------------
>
>                 Key: JENA-2228
>                 URL: https://issues.apache.org/jira/browse/JENA-2228
>             Project: Apache Jena
>          Issue Type: Question
>          Components: Fuseki, TDB
>    Affects Versions: Jena 3.17.0
>         Environment: I am running the jena-fuseki-server-3.17.0.jar file from 
> jena-fuseki2/jena-fuseki-server/target/ as follows
> {code:java}
> java -Xmx500g -jar fuseki-jenaclone.jar --tdb2 --loc=db/jena 
> --timeout=1000000 /jena &{code}
>            Reporter: Martin Pekár
>            Priority: Major
>             Fix For: Jena 3.17.0
>
>
> Based on logging messages inserted into various places in the indexes in the 
> TDB module (NodeTupleTableConcrete, TupleIndexBase, NodeTableNative, 
> BPlusTree), I can see that the B+ tree is only used once per query. I have 
> inserted logging messages for every finding method to see which classes are 
> used when querying. I would expect to the the B+ tree be used several times 
> per query.
>  
> I use the error logging level, and I inserted logging in the class 
> constructors to make sure logging worked. I see construction of all the index 
> classes.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to