[
https://issues.apache.org/jira/browse/IGNITE-24709?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Maksim Timonin updated IGNITE-24709:
------------------------------------
Description:
For SQL query
{code:java}
select t0.id from t0 where exists (select * from t1 where t0.jid = t1.jid)
{code}
SQL engine extracts full rows from T0 instead read only 'id, jid'. It leads to
excess resource usage.
See plan of the query :
{code:java}
IgniteProject(ID=[$0])
IgniteCorrelatedNestedLoopJoin(condition=[true], joinType=[inner],
variablesSet=[[$cor0]], variablesSet=[[0]], correlationVariables=[[$cor0]])
IgniteTableScan(table=[[PUBLIC, T0]])
IgniteColocatedHashAggregate(group=[{0}])
IgniteTableScan(table=[[PUBLIC, T1]], filters=[=($cor0.JID, $t0)],
projects=[[true]], requiredColumns=[{1}])
{code}
IgniteProject(ID) must be replaced with IgniteTableScan#requiredColumns.
was:
For SQL query
{code:java}
select t0.id from t0 where exists (select * from t1 where t0.jid = t1.jid)
{code}
SQL engine extracts full rows from T0 instead read only 'id, jid'. It leads to
excess resource usages.
See plan of the query :
{code:java}
IgniteProject(ID=[$0])
IgniteCorrelatedNestedLoopJoin(condition=[true], joinType=[inner],
variablesSet=[[$cor0]], variablesSet=[[0]], correlationVariables=[[$cor0]])
IgniteTableScan(table=[[PUBLIC, T0]])
IgniteColocatedHashAggregate(group=[{0}])
IgniteTableScan(table=[[PUBLIC, T1]], filters=[=($cor0.JID, $t0)],
projects=[[true]], requiredColumns=[{1}])
{code}
IgniteProject(ID) must be replaced with IgniteTableScan#requiredColumns.
> Add PROJECT_CORRELATE rule to HEP push down list
> ------------------------------------------------
>
> Key: IGNITE-24709
> URL: https://issues.apache.org/jira/browse/IGNITE-24709
> Project: Ignite
> Issue Type: Bug
> Reporter: Maksim Timonin
> Assignee: Maksim Timonin
> Priority: Major
> Labels: ise
> Fix For: 2.18
>
> Time Spent: 20m
> Remaining Estimate: 0h
>
> For SQL query
> {code:java}
> select t0.id from t0 where exists (select * from t1 where t0.jid = t1.jid)
> {code}
> SQL engine extracts full rows from T0 instead read only 'id, jid'. It leads
> to excess resource usage.
> See plan of the query :
> {code:java}
> IgniteProject(ID=[$0])
> IgniteCorrelatedNestedLoopJoin(condition=[true], joinType=[inner],
> variablesSet=[[$cor0]], variablesSet=[[0]], correlationVariables=[[$cor0]])
> IgniteTableScan(table=[[PUBLIC, T0]])
> IgniteColocatedHashAggregate(group=[{0}])
> IgniteTableScan(table=[[PUBLIC, T1]], filters=[=($cor0.JID, $t0)],
> projects=[[true]], requiredColumns=[{1}])
> {code}
>
> IgniteProject(ID) must be replaced with IgniteTableScan#requiredColumns.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)