tihom88 commented on code in PR #2724:
URL: https://github.com/apache/jackrabbit-oak/pull/2724#discussion_r2767384231
##########
oak-core/src/main/java/org/apache/jackrabbit/oak/query/QueryImpl.java:
##########
@@ -1117,12 +1115,6 @@ private SelectorExecutionPlan
getBestSelectorExecutionPlan(
if (p.getSupportsPathRestriction()) {
entryCount = scaleEntryCount(rootState, filter,
entryCount);
}
- if (sortOrder == null || p.getSortOrder() != null) {
- // if the query is unordered, or
- // if the query contains "order by" and the index can
sort on that,
- // then we don't need to read all entries from the
index
- entryCount = Math.min(maxEntryCount, entryCount);
- }
Review Comment:
@bhabegger , I think we should not just clear this condition. Take following
example:
Lets say we have a query with sort, but only one index support the sorted
filter other don't. So the cost estimation now will be based on index size but
in fact index which support sort may be better.
The addition of limit brings all indexes at same level because limit is used
to get MaxEntry count, may be what we need is to bring in index's entry count
to picture when finalising best best index.
`long entryCount = p.getEstimatedEntryCount();`
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]