## Datenbankparameter JOIN_SEARCH_LEVEL

Der spezielle Datenbankparameter JOIN_SEARCH_LEVEL wird vom SQL-Optimierer bei der Abarbeitung von Joins verwendet.

Er legt den Algorithmus für die Join-Sequenz-Suche fest und bestimmt damit Aufwand und Zeit der Join-Sequenz-Suche. Welcher Algorithmus verwendet werden soll, können Sie entweder direkt festlegen oder aus den Parametern JOIN_MAXTAB_LEVEL4, JOIN_MAXTAB_LEVEL9 sowie der Anzahl der Tabellen im Join berechnen lassen.

Um den Algorithmus direkt festzulegen, geben Sie für JOIN_SEARCH_LEVEL einen der folgenden Werte an:

· 9: Alle möglichen Join-Sequenzen werden berechnet (Permutierender Algorithmus).

· 4: Es werden diverse Join-Sequenzen in Abhängigkeit von der Anfragestruktur berechnet (Transformierender Algorithmus).

· 1: Der einfachste Algorithmus für die Join-Sequenz-Suche wird verwendet (Greedy-Algorithmus).

Wenn Sie als JOIN_SEARCH_LEVEL den Wert 0 angeben, wird der Algorithmus für die Join-Sequenz-Suche folgendermaßen bestimmt:

Tabellenanzahl n des Joins | Algorithmus für die Join-Sequenz-Suche
n ≤ JOIN_MAXTAB_LEVEL9 | 9
JOIN_MAXTAB_LEVEL9 <n ≤ JOIN_MAXTAB_LEVEL4 | 4
JOIN_MAXTAB_LEVEL4 < n | 1

JOIN_SEARCH_LEVEL ist auf 0 gesetzt.

JOIN_MAXTAB_LEVEL4 ist auf 16 gesetzt.

JOIN_MAXTAB_LEVEL9 ist auf 4 gesetzt.

Für einen Join werden 5 Tabellen verwendet.

Für diesen Join wird die Join-Sequenz-Suche Level 4 (Transformierender Algorithmus) verwendet, da für den Join JOIN_MAXTAB_LEVEL9 < 5 ≤ JOIN_MAXTAB_LEVEL4 zutrifft.