Anfang des Inhaltsbereichs

 EXPLAIN-Anweisung für Joins 

Wenn die EXPLAIN-Anweisung auf Joins angewendet wird, werden folgende Informationen angezeigt:

·       Reihenfolge, in der die Tabellen abgearbeitet werden, wenn die SELECT-Anweisung ausgeführt wird

·       Ob ausgehend von den Werten in den Joinspalten der alten Zwischenergebnistabelle direkt oder über eine Invertierung auf die Zeilen einer neuen Tabelle zugegriffen werden kann

·       Strategie, nach der in der jeweils neuen Tabelle gesucht wird, wenn auf die Zeilen dieser Tabelle nicht direkt oder über eine Invertierung zugegriffen werden kann

EXPLAIN SELECT one.key ten1.keyft1, ten2.keyft2
FROM one, ten1, ten2
WHERE ten1.keyft1 < 100
  AND ten1.ft1    = one.keyf
  AND one.
indf    = ten2.keyft2
  AND ten2.keyft2 < 100;

Diese EXPLAIN-Anweisung liefert folgendes Ergebnis zurück:

TABLE NAME

COLUMN_
OR_INDEX

STRATEGY

PAGE COUNT

TEN1

ONE

TEN2

KEYFT1

KEF

KEYFT2

RANGE CONDITION FOR KEY COLUMN

JOIN VIA KEY COLUMN

JOIN VIA KEY COLUMN

RESULT IS COPIED, COSTVALUE IS

1250

125

1463

97

Dieses Ergebnis ist folgendermaßen zu interpretieren:

§       Die Joins der Tabellen werden in der Reihenfolge TEN1, ONE, TEN2 durchgeführt.

§       Die Tabelle TEN1 hat eine Gesamtgröße von 1250 Seiten, die Tabelle ONE hat 125 Seiten und die Tabelle TEN2 hat 1463 Seiten.

§       Die I/O-Kosten für die Ausführung der SQL-Anweisung betragen 97 Seiten.

§       Die Tabelle TEN1 wird über den Schlüssel keyft1 selektiert, auf die Tabellen ONE wird über den Primärschlüssel KEF, auf die Tabelle TEN2 über den Primärschlüssel KEYFT2 zugegriffen.

Siehe auch:

Erläuterungen zu den Beispielen

Ende des Inhaltsbereichs