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

Vikas Saurabh edited comment on OAK-2341 at 12/10/14 2:04 PM:
--------------------------------------------------------------

With {{counter}} index, we can scale down cost for a given path restriction as 
{{currentCalcCost / approx-whole-tree-node-count * 
approx-path-restricted-node-count}. While it won't be the most accurate way to 
do the scaling... but, should still be better than nothing :).

Note, we need to take care that case2->step2 is already considering the path 
restriction. We probably should remove that optimization and resort to scaling 
cost as mentioned above.


was (Author: catholicon):
With {{counter}} index, we can scale down cost for a given path restriction as 
{{currentCalcCost / approx-whole-tree-node-count * 
approx-path-restricted-node-count}. While it won't be the most accurate way to 
do the scaling... but, should still be better than nothing :).

> Use approx counters property index costs even when path restriction is 
> available
> --------------------------------------------------------------------------------
>
>                 Key: OAK-2341
>                 URL: https://issues.apache.org/jira/browse/OAK-2341
>             Project: Jackrabbit Oak
>          Issue Type: Bug
>    Affects Versions: 1.1.3
>            Reporter: Vikas Saurabh
>
> Currently, cost calculation of property index follows following psuedo-code:
> * For "is not null" case:
> ## return {{entryCount}} || approximate counted indexed nodes
> ## if above doesn't work out, do a partial traversal and return extrapolated 
> cost
> * For property in (a, b, ...) or property==value case:
> ## return {{entryCount}}/{{keyCount}} || approximate counted index nodes for 
> each key (a, b, etc)
> ## if above doesn't work out, do a partial traversal over whole indexed tree 
> or sub-tree (if path restriction is available) and return extrapolated cost
> approx counter on index is used only if {{entryCount}} property is missing in 
> index definition node.
> The issue in step 1 in both cases is that it doesn't consider path 
> restriction if it's given in the query.
> The only place where path restriction is being considered is in case2->step2.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to