Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
1.19.0
Description
Currently, Calcite provides a tuple-based nested loop join algorithm implemented 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.
Attachments
Issue Links
- links to