Hash Join
হ্যাশ জয়েন
ছোট পাশ hash table-এ build, বড় পাশ probe — equi-join-এর ডিফল্ট workhorse, O(n+m)।
Build: ht[smaller.key].append(row) # একবার
Probe: for r in larger: yield combine(r, ht[r.key]) # এক lookup per row
- Equi-condition বাধ্যতামূলক — hash-এ range predicate (
a > b) join হয় না - Memory ছোট: build side partition করে grace hash / hybrid spill
- Planner ছোট input বাছে build side — cardinality misestimate সরাসরি ভুল choice
Nested loop ছোট outer × indexed inner-এ জেতে; দুই বিশাল unordered input-এ hash join-ই রাজা।