Hash-Join
Join-Algorithmus: Aus der kleineren Relation wird eine Hash-Tabelle gebaut (Build-Phase), die größere Relation wird durchlaufen und nachgeschlagen (Probe-Phase). O(N+M) — am schnellsten für Equi-Joins auf mittelgroßen bis großen Daten ohne Indizes.
Braucht Speicher für die Hash-Tabelle. Übersteigt die Build-Relation work_mem (PostgreSQL), wird auf die Platte ausgelagert (Hash Spill, mehrere Durchläufe). Bevorzugter Plan für analytische Workloads im Data Warehouse. Adaptive Hash Join startet im Speicher und wechselt bei RAM-Druck auf die Platte. Konkurrenten: Nested Loop (gut bei kleinen, indizierten Daten), Merge Join (gut, wenn beide Seiten sortiert sind). Der PostgreSQL-Planer wählt anhand geschätzter Kosten. Für Nicht-Equi-Prädikate — Bereiche, Fuzzy Matching — funktioniert ein Hash-Join nicht.