You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@calcite.apache.org by "Stamatis Zampetakis (JIRA)" <ji...@apache.org> on 2019/04/04 13:46:00 UTC

[jira] [Created] (CALCITE-2979) Add a block-based nested loop join algorithm

Stamatis Zampetakis created CALCITE-2979:
--------------------------------------------

             Summary: Add a block-based nested loop join algorithm
                 Key: CALCITE-2979
                 URL: https://issues.apache.org/jira/browse/CALCITE-2979
             Project: Calcite
          Issue Type: Improvement
          Components: core
    Affects Versions: 1.19.0
            Reporter: Stamatis Zampetakis


Currently Calcite provides a tuple-based nested loop join algorithm implmented through EnumerableCorrelate and EnumerableDefaults.correlateJoin. This means that for each tuple of the outer relation we probe (set variables) in the inner relation. 

The goal of this issue is to add new algorithm (or extend the correlateJoin method) which first gathers blocks (batches) of tuples from the outer relation and then probes the inner relation once per block. 

There are cases (eg., indexes) where the inner relation can be accessed  by more than one value which can greatly improve the performance in particular when the outer relation is big. 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)