## EXPLAIN-Anweisung

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.

### Syntax

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.

### Beispiele

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, COSTVALUE IS | 1

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 Joins

● 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:

Liste aller Suchstrategien

Verlagerung der Suche auf den FETCH-Zeitpunkt

Problemanalyse

SQL-Referenzhandbuch, EXPLAIN-Anweisung (explain_statement)