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

Nested Loop Join

নেস্টেড লুপ জয়েন

প্রতিটা outer row-র জন্য inner ঘেঁটে মিল খোঁজা — সরল, সব condition-এ চলে, indexed inner-এ দ্রুত।

also: nlj, loop-join

for o in outer:                        # n rows
    for i in index_probe(o.key):       # indexed: O(log m) per row
        yield combine(o, i)            # total O(n log m)
  • Naive: O(n·m) — ছোট table ছাড়া আত্মহত্যা; indexed: outer ছোট + selective filter-এ champion
  • Non-equi condition (a BETWEEN b AND c) hash/merge পারে না, NL সহজেই পারে
  • Cost model-এর খেলার মাঠ: misestimate ১০× হলে planner NL বেছে হাজারগুণ slow

OLTP point query (WHERE id=? join) — বাস্তবে প্রায়ই NL+index; analytics bulk join — hash/merge।