[ https://issues.apache.org/jira/browse/CALCITE-3952?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17090994#comment-17090994 ]
Vineet Garg commented on CALCITE-3952: -------------------------------------- bq. Given a rel which emit at most 1 row (RelMetadataQuery.getRowCount<=1), should RelMetadataQuery.collations(rel) match the Sort order [~jinxing6...@126.com] I don't think it is necessary in this case for sort order to match. If input is producing at most 1 row there is no need to sort. > Improve SortRemoveRule to remove Sort based on rowcount > ------------------------------------------------------- > > Key: CALCITE-3952 > URL: https://issues.apache.org/jira/browse/CALCITE-3952 > Project: Calcite > Issue Type: Improvement > Components: core > Reporter: Vineet Garg > Assignee: Vineet Garg > Priority: Major > Time Spent: 10m > Remaining Estimate: 0h > > If a query is guaranteed to produce maximum one row it is safe to remove Sort > (along with limit). > Example: > {code:sql} > select count(*) cs from store_sales where ss_ext_sales_price > 100.00 order > by cs limit 100 > {code} > Although logically equivalent this can greatly benefit physical plans by > removing extra operator and avoiding unnecessary data transfer. -- This message was sent by Atlassian Jira (v8.3.4#803005)