Hash Join Algorithm

A hash join algoritmus egyfajta  összekapcsolási algoritmus .

Az algoritmus bemenetként két táblát és egy összekapcsolási feltételt kap. Munkája eredménye egy táblázat a kapcsolat eredményeivel.

A két bemeneti tábla közül a kisebbik egy speciális memórián belüli adatszerkezetben van elhelyezve : egy hash táblában , amely nagyon nagy keresési sebességet biztosít. Ezután a nagyobb tábla minden sorában megkeresi azokat az értékeket, amelyek megfelelnek az összekapcsolási feltételnek. Az eredmények a kimeneti táblázatba kerülnek.

A pszeudokódban az algoritmus a következőképpen írható le:

[HashTable] = BuildHashTable([SmallerTable], [Kisebb táblázat oszlopnevek, amelyekhez csatlakozni kell]); A [LargeTable] minden egyes sorához [r] Kimenet ([r], LookInHashTable([HashTable],[LargeTable oszlopnevek, amelyeken az összekapcsolás történik]));

Előnyök

Hátrányok

A valódi rendszerek a fenti példánál kifinomultabb kivonatolási sémákat használnak, főként a hash tábla felépítéséhez szükséges memóriaigény csökkentését célozva. Például mindkét tábla adatai részekre oszlanak, és csak az egyik részhez készül egy hash tábla.

Linkek