Details
-
Improvement
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
None
-
None
-
None
-
Reviewed
Description
CommonJoinOperator.genObject() is expensive. It does a recursive and keeps lots of states because it has to:
1. handle null cases for outer joins
2. handle the case of duplicated keys from one join party
We can do a minor optimization to detect a 1:1 join (which is quite common) before calling CommonJoinOperator.genObject() and forward columns in a simple for-loop if we are sure neither of 1 or 2 will happen.