You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Julian Hyde (JIRA)" <ji...@apache.org> on 2014/09/22 22:24:34 UTC

[jira] [Resolved] (OPTIQ-341) Redundant AggregateRel for IN subquery

     [ https://issues.apache.org/jira/browse/OPTIQ-341?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Julian Hyde resolved OPTIQ-341.
-------------------------------
       Resolution: Fixed
    Fix Version/s: 0.9.1-incubating

This seems to be fixed by my recent changes the query decorrelation process.

> Redundant AggregateRel for IN subquery
> --------------------------------------
>
>                 Key: OPTIQ-341
>                 URL: https://issues.apache.org/jira/browse/OPTIQ-341
>             Project: Optiq
>          Issue Type: Bug
>            Reporter: Aman Sinha
>            Assignee: Julian Hyde
>             Fix For: 0.9.1-incubating
>
>
> The following query against TPCH creates 2 AggregateRels for the IN subquery....one for the Group-By and one for the DISTINCT on the same column.  Since Group-by is already doing the distinct, the second AggregateRel is redundant and hurts performance.  
> {code:sql}
> SELECT n_name FROM nation 
>   WHERE n_regionkey IN (SELECT r_regionkey FROM region 
>                                             GROUP BY r_regionkey);
> ProjectRel(n_name=[$2])
>   JoinRel(condition=[=($3, $4)], joinType=[inner])
>     ProjectRel($f0=[$0], $f1=[$1], $f2=[$2], $f3=[$1])
>       EnumerableTableAccessRel(table=[[dfs, TpchSf1, nation]])
>     AggregateRel(group=[{0}])
>       AggregateRel(group=[{0}])
>         ProjectRel(r_regionkey=[$1])
>           EnumerableTableAccessRel(table=[[dfs, TpchSf1, region]])
> {code}



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