Details
-
Improvement
-
Status: Open
-
Minor
-
Resolution: Unresolved
-
10.3.1.4
-
None
-
Normal
-
Performance
Description
DERBY-47 added a new MultiProbeTableScanResult to handle multi-probing for nested loop joins, which leads to significant performance improvements for certain IN-list queries. However, that Jira did not extend the multi-probing functionality to hash joins. As a result, queries for which the optimizer chooses to do hash joins cannot currently reap the benefits of IN-list multi-probing (see DERBY-2500).
It would be good to enhance Derby's execution-time handling of HashScanResultSets so that it can take advantage of IN-list multi-probing for hash joins, as well. Doing so would allow Derby to read fewer rows from disk (similar to DERBY-47) and would also have the convenient side-effect of decreasing the size of the in-memory hash table.