Verwendung von EXPLAIN zum Verständnis des Zugriffspfads
Sie können die EXPLAIN-Anweisung verwenden, um die Zugriffspfade für die SELECT-Teile Ihrer Anweisungen zu bestimmen.
Diese Informationen beschreiben, was EXPLAIN bietet und wie Sie Informationen von EXPLAIN erhalten können. Die Informationen in der Plantabelle können Ihnen bei der Durchführung der folgenden Aufgaben helfen:
- Bestimmen Sie den Zugriffspfad, den Db2 für eine Abfrage wählt
- Entwerfen von Datenbanken, Indizes und Anwendungsprogrammen
- Bestimmen Sie, wann eine Anwendung neu gebunden werden muss
Für jeden Zugriff auf eine einzelne Tabelle gibt EXPLAIN an, ob Db2 einen Indexzugriff oder einen Tabellenscan verwendet. Bei Indizes gibt EXPLAIN an, wie viele Indizes und Indexspalten verwendet werden und welche E/A-Methoden zum Lesen der Seiten verwendet werden. Bei Tabellenverknüpfungen gibt EXPLAIN die Verknüpfungsmethode und den Verknüpfungstyp, die Reihenfolge, in der Db2 die Tabellen verknüpft, und die Fälle an, in denen und aus welchen Gründen Zeilen sortiert werden.
Die folgenden Schritte fassen zusammen, wie Sie Informationen von EXPLAIN erhalten:
- Erstellen Sie die Plantafel.
Bevor Sie EXPLAIN verwenden können, müssen Sie eine Plantafel erstellen, um die Ergebnisse von EXPLAIN zu speichern.
- Füllen Sie die Plantafel aus.
Sie können die Plantabelle durch Ausführen der SQL-Anweisung EXPLAIN befüllen. Sie können auch eine Plantabelle ausfüllen, wenn Sie einen Plan oder ein Paket binden oder neu binden, indem Sie die Option EXPLAIN(YES) angeben. EXPLAIN erhält Informationen über die Zugriffspfade für alle erklärbaren SQL-Anweisungen in einem Paket oder in den DBRMs eines Plans.
- Wählen Sie Informationen aus der Plantabelle aus.
Mehrere Prozesse können Zeilen in dieselbe Plantafel einfügen. Um Zugriffspfade zu verstehen, müssen Sie die Zeilen für eine bestimmte Abfrage in einer geeigneten Reihenfolge abrufen.
EXPLAIN hilft Ihnen, Fragen zur Abfrageleistung zu beantworten. Die Antworten liefern Ihnen die Informationen, die Sie benötigen, um die Leistung zu verbessern. EXPLAIN gibt an, ob Db2 einen Index für den Datenzugriff verwendet hat, ob Sortierungen durchgeführt wurden, ob Parallelverarbeitung verwendet wurde usw.
Wenn Sie Erfahrung in der Zusammenarbeit mit Db2 sammeln, können Sie die Plantafel verwenden, um Db2 Optimierungshinweise zu geben, die die Auswahl des Zugriffspfads beeinflussen.