Foundationপ্রথম নীতি থেকে
LEVEL 8 · Database Systems

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-ই রাজা।