Nested loop join
Enklaste join-algoritmen: för varje rad i outer relation, scanna inner relation och output matchningar. O(N×M) generellt; O(N) om inner har index på join-key. Default för OLTP small-data-joins.
Kraftfull med indexed inner — varje outer-row genererar en index-lookup (logaritmisk). Katastrofalt utan index på stora relationer: 10k×10k = 100M operationer. Klassiskt performance-regression: stat-skew → planner väljer nested loop tror outer har 10 rader, faktiskt 10k → query hänger. Hash join är säkrare default på unknown-cardinality. PostgreSQL: Materialize-node ovanpå inner cacha resultatet om outer iterar samma värden flera gånger. OLTP single-row-lookups hamnar nästan alltid i nested loop med PK-index — det är optimalt.