[
https://issues.apache.org/jira/browse/IGNITE-24795?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Iurii Gerzhedovich updated IGNITE-24795:
----------------------------------------
Description:
Adaptation of IGNITE-24709 for Apache Ignite 3.
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 resources 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 resources 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.
> Sql. Add PROJECT_CORRELATE rule to HEP push down list
> -----------------------------------------------------
>
> Key: IGNITE-24795
> URL: https://issues.apache.org/jira/browse/IGNITE-24795
> Project: Ignite
> Issue Type: Bug
> Components: sql
> Reporter: Iurii Gerzhedovich
> Priority: Major
> Labels: ignite-3
> Fix For: 2.18
>
>
> Adaptation of IGNITE-24709 for Apache Ignite 3.
> 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 resources 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)