Hash joins are join operation used for joining large data sets.
The optimizer uses:
to build a hash table on the join key in memory.
It then scans the larger table, probing the hash table to find the joined rows.
This method is best used when the smaller table fits in available memory. The cost is then limited to a single read pass over the data for the two tables.