[
https://issues.apache.org/jira/browse/PHOENIX-2965?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15326493#comment-15326493
]
James Taylor commented on PHOENIX-2965:
---------------------------------------
You can ignore the ORDER BY in AggregatePlan like this:
{code}
ResultIterator resultScanner = aggResultIterator;
if (orderBy.getOrderByExpressions().isEmpty()) {
if (offset != null) {
resultScanner = new OffsetResultIterator(aggResultIterator,
offset);
}
if (limit != null) {
resultScanner = new LimitingResultIterator(resultScanner,
limit);
}
} else if (!groupBy.isUngroupedAggregate()) { // No need to order
single row of ungrouped aggregation
int thresholdBytes =
context.getConnection().getQueryServices().getProps().getInt(
QueryServices.SPOOL_THRESHOLD_BYTES_ATTRIB,
QueryServicesOptions.DEFAULT_SPOOL_THRESHOLD_BYTES);
resultScanner = new
OrderedAggregatingResultIterator(aggResultIterator,
orderBy.getOrderByExpressions(),
thresholdBytes, limit, offset);
}
{code}
> Use DistinctPrefixFilter logic for COUNT(DISTINCT ...) and COUNT(...) GROUP BY
> ------------------------------------------------------------------------------
>
> Key: PHOENIX-2965
> URL: https://issues.apache.org/jira/browse/PHOENIX-2965
> Project: Phoenix
> Issue Type: Sub-task
> Reporter: Lars Hofhansl
> Assignee: Lars Hofhansl
> Fix For: 4.8.0
>
> Attachments: 2965-v10.txt, 2965-v11.txt, 2965-v12.txt, 2965-v2.txt,
> 2965-v3.txt, 2965-v4.txt, 2965-v5.txt, 2965-v6.txt, 2965-v7.txt, 2965-v8.txt,
> 2965-v9.txt, 2965.txt, PHOENIX-2965_wip.patch
>
>
> Parent uses skip scanning to optimize DISTINCT and certain GROUP BY
> operations along the row key.
> COUNT queries are optimized differently, could be sped up significantly as
> well.
> [~giacomotaylor], I might need to help into where COUNT(DISTINCT) queries are
> planned and optimized.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)