Join

Bei einem Join handelt es sich um einen Operator zur Verknüpfung von Tabelleninhalten in einer Abfrage für eine relationale Datenbank. Mathematisch betrachtet ist das Ergebnis des Joins das kartesische Produkt (siehe kartesisches Produkt) der Tabellen, wobei gewisse Zeilen und Spalten anhand von wählbaren Selektionskriterien unterdrückt werden.

Joins können nach verschiedenen Algorithmen durchgeführt werden:

Hash Join - Der Hash Join ist anwendbar, wenn die Join Bedingung die Gleichheit ist. Zusammengehörige Zeilen der beteiligten Tabellen werden anhand gleicher Hashs vorgefiltert. Es wird kein Index benötigt.

Sort-Merge Join - Beide Tabellen werden nach den Spalten sortiert, die in der Join Bedingung vorkommen. Zusammengehörige Zeilen können dann durch einen sequentiellen Durchlauf identifiziert werden. Die Sortierung ist kein bestimmender Zeitfaktor, wenn dafür ein Index vorliegt.

Nested Loop Join - Die äußere Schleife läuft über die Zeilen der erste Tabelle und die innere Schleife läuft über die zusammenpassenden Zeilen der zweite Tabelle. Das Finden passender Zeilen in der zweiten Tabelle ist der zeitbestimmende Faktor, ein unterstützender Index ist sehr vorteilhaft.