Planning#
Left Join#
The following optimizes a left join.
Pushing selection down on the left
Choosing the selection that reduce the left the most to be pushed down.
Pushing any cartesian operator up.
Create temporary tables from result of selection instead of doing things iteratively.
Switch join algorithm (SNLJ, PNLJ, BNLJ)
Cascade and push down projections.