[
https://issues.apache.org/jira/browse/OAK-2679?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Joel Richard updated OAK-2679:
------------------------------
Attachment: 0001-OAK-2679-Reduce-execution-plan-overhead.patch
Attached patch (0001-OAK-2679-Reduce-execution-plan-overhead.patch) which does
not use a cache, but instead reduces the execution plan overhead with the
following changes:
{quote}
* Add QueryIndex.getMinimalCost which allows to skip the remaining index cost
comparison if it finds an index whose cost is <= the minimum cost of the next
more expensive index
* Implement getMinimalCost for all indexes
* Do not read index definitions in PropertyIndex.getCost if the filter does not
have property restrictions and selector restrictions
* Stop looking for better index definition in PropertyIndex once it finds a
definition with the absolute minimum cost
* Cache for 30 seconds if there are no ordered property or Solr indexes
{quote}
More about it on the mailing list in a minute.
> Query engine: cache execution plans
> -----------------------------------
>
> Key: OAK-2679
> URL: https://issues.apache.org/jira/browse/OAK-2679
> Project: Jackrabbit Oak
> Issue Type: Improvement
> Components: core, query
> Reporter: Thomas Mueller
> Assignee: Thomas Mueller
> Labels: performance
> Fix For: 1.3.5
>
> Attachments: 0001-OAK-2679-Reduce-execution-plan-overhead.patch,
> OAK-2679.patch, executionplancache.patch
>
>
> If there are many indexes, preparing a query can take a long time, in
> relation to executing the query.
> The query execution plans can be cached. The cache should be invalidated if
> there are new indexes, or indexes are changed; a simple solution might be to
> use a timeout, and / or a manual cache clean via JMX or so.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)