Mit Hilfe der EXPLAIN-Anweisung können Sie für eine SQL-Anweisung mit bestimmten Suchbedingungen herausfinden, welche Suchstrategie der SQL-Optimierer für diese SQL-Anweisung auswählt und welche Kosten diese Suchstrategie verursacht.
EXPLAIN <query_statement>
Als Ergebnis einer EXPLAIN-Anweisung wird eine Tabelle zurückgegeben.
● In der Spalte STRATEGY wird angezeigt, welche Suchstrategie der SQL-Optimierer für diese SQL-Anweisung auswählt und ob eine Ergebnistabelle erstellt wurde oder nicht.
● In der Spalte PAGECOUNT wird das Ergebnis der Kostenermittlung für die gewählte Suchstrategie angezeigt.
Die bei den Erläuterungen zum SQL-Optimierer verwendeten Beispiele stützen sich auf die Demo-Datenbank DEMODB und ihre vollständigen Demo-Daten im Schema HOTEL.
Konzepte des Datenbanksystems, Objekte im Schema HOTEL
EXPLAIN
SELECT * FROM hotel.city
WHERE zip > '99000'
Ergebnis der EXPLAIN-Anweisung
OWNER |
TABLENAME |
COLUMN_OR_INDEX |
STRATEGY |
PAGECOUNT |
HOTEL |
CITY |
|
RANGE CONDITION FOR KEY |
11 |
|
|
ZIP |
(USED KEY COLUMN) |
|
|
|
|
RESULT IS NOT COPIED,
|
|
Das bedeutet, dass die Tabelle CITY 11 Seiten umfasst und die I/O-Kosten für die Ausführung der SQL-Anweisung 1 Seite beträgt.
Einige Besonderheiten der EXPLAIN-Anweisung werden in den folgenden Abschnitten erläutert:
● EXPLAIN-Anweisung für komplizierte SELECT-Anweisungen
● EXPLAIN-Anweisung für SELECT-Anweisungen mit Unterabfragen
Weitere einfache Beispiel-SQL-Anweisungen finden Sie im SQL-Tutorial.
Siehe auch:
Verlagerung der Suche auf den FETCH-Zeitpunkt
SQL-Referenzhandbuch, EXPLAIN-Anweisung (explain_statement)