Anfang des Inhaltsbereichs

Hintergrunddokumentation Join Dokument im Navigationsbaum lokalisieren

Um zu verstehen, wie Suchstrategien für Joins gefunden werden, sind einige Hintergrundinformationen über die Abarbeitung von Joins erforderlich.

Erzeugen einer Ergebnistabelle für alle durch einen Join verknüpften Tabellen

Über einen Join können Sie bis zu 64 Tabellen miteinander verknüpfen. Dabei erfolgt das Verknüpfen der Tabellen schrittweise, d. h., aus zwei Tabellen wird ein Join gebildet. Jeweils eine weitere Tabelle wird dann mit dem Join-Ergebnis zu einem neuen verknüpft.

  1. Die erste Tabelle wird durchsucht.
  2. Das Ergebnis wird in einer Zwischenergebnistabelle gespeichert.
  3. Die Zwischenergebnistabelle wird nach den Join-Spalten des folgenden Join-Schritts sortiert.
  4. Die nächste noch vorhandene Tabelle wird durchsucht.
  5. Die bestehende Zwischenergebnistabelle wird mit der neuen Tabelle verknüpft.
  6. Das Ergebnis wird in einer neuen Zwischenergebnistabelle gespeichert.
  7. Diese Zwischenergebnistabelle wird nach den Join-Spalten des folgenden Join-Schritts sortiert.
  8. Die alte Zwischenergebnistabelle wird gelöscht.
  9. Gibt es weitere Tabellen, wird die Vorgehensweise ab Schritt 4 wiederholt.

Die letzte Zwischenergebnistabelle ist die vom Benutzer gewünschte Ergebnistabelle.

Optimieren der durch eine Join verknüpften Tabellen

Zeit oder Platz bei der Abarbeitung der durch einen Join verknüpften Tabellen kann nur dann gespart werden, wenn die Zwischenergebnistabellen möglichst klein sind und auf die Zeilen der jeweils zu verknüpfenden neuen Tabellen möglichst direkt zugegriffen werden kann.

Der Optimierer ist deshalb bemüht, kleine Tabellen mit restriktiven Suchbedingungen an den Anfang der Serie der zu verarbeitenden Tabellen zu stellen, um ebenfalls kleine Zwischenergebnistabellen zu erhalten.

Die Reihenfolge, in der die Tabellen in der FROM-Klausel der SELECT-Anweisung spezifiziert sind, hat keinen Einfluß auf die Reihenfolge der Abarbeitung. Der Optimierer legt die Reihenfolge der Abarbeitung selbst fest.

Suchstrategien

Die Suchstrategien können Sie mit der EXPLAIN-Anweisung ( EXPLAIN-Anweisung für Joins) angezeigen.

Die folgenden Suchstrategien sind möglich, um ausgehend von den Join-Spaltenwerten der alten Zwischenergebnistabelle auf Zeilen der neuen Tabelle zuzugreifen:

JOIN VIA INDEXED COLUMN

JOIN VIA KEY COLUMN

JOIN VIA KEY RANGE

JOIN VIA MULTIPLE INDEXED COLUMNS

JOIN VIA MULTIPLE KEY COLUMNS

JOIN VIA RANGE OF MULTIPLE INDEXED COL.

JOIN VIA RANGE OF MULTIPLE KEY COLUMNS

Mehrspaltige Schlüssel- bzw. Indexstrategien

Sind die Spaltenlängen der in einem Join-Schritt jeweils zu vergleichenden 2 Spalten nicht gleich, dann können nicht alle Suchstrategien ausgenutzt werden. Es empfiehlt sich, über einen Join zu verbindende Spalten durch denselben Wertebereich zu definieren, um diese Restriktion zu umgehen.

Ende des Inhaltsbereichs