[
https://issues.apache.org/jira/browse/OAK-3600?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14998272#comment-14998272
]
Chetan Mehrotra commented on OAK-3600:
--------------------------------------
Lucene index also takes similar approach. {{IndexTracker}} tracks changes in
index definitions and refreshes the state if any change is detected. It
registers an Observor to listen for changes in index definitions which have
been used
> Cache property index definitions
> --------------------------------
>
> Key: OAK-3600
> URL: https://issues.apache.org/jira/browse/OAK-3600
> Project: Jackrabbit Oak
> Issue Type: Improvement
> Components: core, query
> Affects Versions: 1.3.9
> Reporter: Joel Richard
> Labels: performance
>
> At the moment, most of the time of the execution plan calculation (often 70%)
> is spent in PropertyIndex.getCost. Therefore, it would make sense to cache
> the property index definitions in a map<property name, plan> which avoids all
> unnecessary traversal/repository operations.
> This cache could either be attached to the session or expire after a few
> seconds because the problem is not that createPlan is slow itself, but is
> just called too often.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)