Algoritmus pro připojení hash

Algoritmus spojení hash je druh  algoritmu spojení .

Algoritmus přijímá jako vstup dvě tabulky a podmínku spojení. Výsledkem jeho práce je tabulka s výsledky spojení.

Menší ze dvou vstupních tabulek je umístěna ve speciální datové struktuře v paměti : hash table , která poskytuje velmi vysokou rychlost vyhledávání. Poté se pro každý řádek z větší tabulky vyhledá hodnoty, které odpovídají podmínce spojení. Výsledky jsou umístěny ve výstupní tabulce.

V pseudokódu lze algoritmus popsat nějak takto:

[HashTable] = BuildHashTable([SmallerTable], [Názvy sloupců Menší tabulky, ke kterým se mají připojit]); Pro každý řádek [r] z [LargeTable] Výstup ([r], LookInHashTable([HashTable],[Názvy sloupců Velké tabulky, na kterých je spojení provedeno]));

Výhody

Nevýhody

Reálné systémy používají sofistikovanější hashovací schémata než výše uvedený příklad, zaměřené především na snížení požadavků na paměť pro vytvoření hashovací tabulky. Například data obou tabulek jsou rozdělena na části a hashovací tabulka je sestavena pouze pro jednu z těchto částí.

Odkazy