Jointure par hachage Hash join
Algorithme de jointure : on construit une table de hachage de la plus petite relation (phase de construction), puis on parcourt la plus grande en cherchant les correspondances (phase de sondage). En O(N+M) — le plus rapide pour les équi-jointures sur des données moyennes à grandes, sans index.
Il exige de la mémoire pour la table de hachage. Si la relation de construction dépasse work_mem (PostgreSQL), l'algorithme déborde sur disque (hash spill, plusieurs passes). Plan privilégié pour les charges analytiques (entrepôt de données). Jointure par hachage adaptative : on démarre en mémoire, puis on bascule sur disque en cas de pression sur la RAM.
Concurrentes : la boucle imbriquée (bonne sur du petit et de l'indexé) et la jointure par fusion (bonne si les deux côtés sont triés). Le planificateur de PostgreSQL choisit d'après le coût estimé. Une jointure par hachage ne fonctionne pas pour les prédicats qui ne sont pas des égalités (intervalles, correspondance floue).