Note: migrated from original JIRA: https://issues.apache.org/jira/browse/ARROW-11116
Currently, the left join implementation keeps a HashSet<Vec> to mark each key as visited.
However, a more efficient choice would be to keep a bitmap or a boolean marker for each key or index and mark the row as visited, avoiding unnecessary hashing, copying / memory usage.
This bitmap / marker can be visited at the end of the join, efficiently adding the remaining left rows with no match.