Details
-
Improvement
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
1.21.0
-
None
Description
The current implementation of EnumerableDefaults#nestedLoopJoin builds the complete join result in a list before returning it. As specified in a comment there, this is "easy, but hogs memory". Also, it is not very efficient if after the join there is a LIMIT.
An alternative implementation of nested loop join can be proposed, based on iterating through the outer an inner enumerables, and returning the results step by step (something similar to EnumerableDefaults#correlateJoin).
Attachments
Issue Links
- blocks
-
CALCITE-3535 EnumerableJoinRule: remove unnecessary Filter on top of INNER Join
- Closed
- links to