You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Maksim Zhuravkov (Jira)" <ji...@apache.org> on 2024/04/23 12:16:00 UTC

[jira] [Created] (IGNITE-22092) Sql. Implement subquery decorrelation.

Maksim Zhuravkov created IGNITE-22092:
-----------------------------------------

             Summary: Sql. Implement subquery decorrelation.
                 Key: IGNITE-22092
                 URL: https://issues.apache.org/jira/browse/IGNITE-22092
             Project: Ignite
          Issue Type: Improvement
          Components: sql
            Reporter: Maksim Zhuravkov


Rewriting correlated subqueries provides significant performance boost by removing redundant loops during execution and by allowing subsequent optimisations of flattened plans during planning.

P.S.

Apache calcite provides some means to decorrelate subqueries (viaRelDecorrelator) but unfortunetly they are:
- produce incorrect results (see https://issues.apache.org/jira/browse/IGNITE-16493  where decorrelating subquery produces incorrect result because a resulting plan contains a join with `equality` instead of is `not distinct from` predicate (thus breaking queries for tables that contain NULLs).
- limited in scope.








--
This message was sent by Atlassian Jira
(v8.20.10#820010)