[
https://issues.apache.org/jira/browse/IMPALA-8423?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Tamas Mate reassigned IMPALA-8423:
----------------------------------
Assignee: Tamas Mate
> Add rule to remove useless SELECT node
> --------------------------------------
>
> Key: IMPALA-8423
> URL: https://issues.apache.org/jira/browse/IMPALA-8423
> Project: IMPALA
> Issue Type: Improvement
> Components: Frontend
> Reporter: Quanlong Huang
> Assignee: Tamas Mate
> Priority: Major
> Labels: performance
>
> We can add some rules to optimize the plan after we chose a cheapest plan
> based on cost. For example, one useful rule can be "removing useless SELECT
> nodes".
> Impala will generated a useless SELECT for the following query:
> {code:sql}
> SELECT t.id, t.int_col
> FROM functional.alltypestiny t
> LEFT JOIN
> (SELECT id, int_col
> FROM functional.alltypestiny) t2
> ON (t.id = t2.id)
> WHERE t.int_col = t.id
> UNION ALL
> VALUES (NULL, NULL){code}
> Its single node plan is
> {code:java}
> PLAN-ROOT SINK
> |
> 00:UNION
> | constant-operands=1
> | row-size=8B cardinality=1
> |
> 04:SELECT
> | predicates: t.id = t.int_col
> | row-size=12B cardinality=0
> |
> 03:HASH JOIN [RIGHT OUTER JOIN]
> | hash predicates: id = t.id
> | runtime filters: RF000 <- t.id
> | row-size=12B cardinality=1
> |
> |--01:SCAN HDFS [functional.alltypestiny t]
> | HDFS partitions=4/4 files=4 size=460B
> | predicates: t.int_col = t.id
> | row-size=8B cardinality=1
> |
> 02:SCAN HDFS [functional.alltypestiny]
> HDFS partitions=4/4 files=4 size=460B
> runtime filters: RF000 -> id
> row-size=4B cardinality=8{code}
> The SELECT node (id=04) is useless since its only predicate "t.id =
> t.int_col" has been enforced in the SCAN node (id=01) which is the right hand
> side of the RIGHT OUTER JOIN. The SELECT node won't filter out any more rows.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]