DB2 Universal Database - Systemverwaltung

Die Tabelle EXPLAIN_STATEMENT

Die Tabelle EXPLAIN_STATEMENT enthält den Text der SQL-Anweisung, wie sie für die verschiedenen Stufen der EXPLAIN-Informationen existiert. Die ursprüngliche SQL-Anweisung, wie sie vom Benutzer eingegeben wurde, wird in dieser Tabelle zusammen mit der (vom Optimierungsprogramm) zum Auswählen eines Zugriffsplans für die Ausführung der SQL-Anweisung verwendeten Version gespeichert. Die letztere Version hat oft sehr wenig Ähnlichkeit mit dem Original, da sie möglicherweise vom SQL-Compiler umgeschrieben und/oder mit zusätzlichen Vergleichselementen versehen wurde.

Die Definition dieser Tabelle finden Sie in Tabellendefinition EXPLAIN_STATEMENT.

Tabelle 87. Tabelle EXPLAIN_STATEMENT
Spaltenname Datentyp Nullwert? Schlüssel? Beschreibung
EXPLAIN_REQUESTER VARCHAR(128) Nein PK, FK Berechtigungs-ID des Initiators dieser EXPLAIN-Anforderung
EXPLAIN_TIME TIMESTAMP Nein PK, FK Initialisierungszeitpunkt für die EXPLAIN-Anforderung
SOURCE_NAME VARCHAR(128) Nein PK, FK Name des Pakets, das ausgeführt wurde, als die dynamische Anweisung mit EXPLAIN bearbeitet wurde, oder der Name der Quellendatei, als das statische SQL mit EXPLAIN bearbeitet wurde.
SOURCE_SCHEMA VARCHAR(128) Nein PK, FK Schema oder Qualifikationsmerkmal der Quelle der EXPLAIN-Anforderung
EXPLAIN_LEVEL CHAR(1) Nein PK Ebene der EXPLAIN-Informationen, für die diese Zeile relevant ist

Gültige Werte:

O
Originaltext (wie vom Benutzer eingegeben)
P
PLANAUSWAHL
STMTNO INTEGER Nein PK Anweisungsnummer im Paket, auf die sich diese EXPLAIN-Informationen beziehen. Bei dynamischen EXPLAIN-SQL-Anweisungen wird dieser Wert auf 1 gesetzt. Bei statischen SQL-Anweisungen gleicht dieser Wert dem für die Katalogsicht SYSCAT.STATEMENTS verwendeten Wert.
SECTNO INTEGER Nein PK Abschnittsnummer in dem Paket, die diese SQL-Anweisung enthält. Bei dynamischen SQL-Anweisungen EXPLAIN ist dies die Abschnittsnummer, die zum Speichern des Abschnitts für diese Anweisung zur Laufzeit verwendet wird. Bei statischen SQL-Anweisungen gleicht dieser Wert dem für die Katalogsicht SYSCAT.STATEMENTS verwendeten Wert.
QUERYNO INTEGER Nein Nein Numerische Kennung für eine mit EXPLAIN bearbeitete SQL-Anweisung. Für dynamische SQL-Anweisungen (außer der SQL-Anweisung EXPLAIN), die mit Hilfe von CLP oder CLI angegeben wurden, ist der Standardwert ein sequentiell inkrementierter Wert. Andernfalls ist der Standardwert für statische SQL-Anweisungen der Wert STMTNO und für dynamische SQL-Anweisungen der Wert 1.
QUERYTAG CHAR(20) Nein Nein Identifizierendes Kennzeichen für jede mit EXPLAIN bearbeitet SQL-Anweisung. Für dynamische SQL-Anweisungen, die mit CLP angegeben wurden (außer der EXPLAIN-SQL-Anweisung), ist der Standardwert 'CLP'. Für dynamische SQL-Anweisungen, die mit CLI angegeben wurden (außer der EXPLAIN-SQL-Anweisung), ist der Standardwert 'CLI'. Andernfalls werden Leerzeichen als Standardwert verwendet.
STATEMENT_TYPE CHAR(2) Nein Nein Beschreibender Kennsatz für den mit EXPLAIN bearbeiteten Abfragetyp.

Die folgenden Werte sind möglich:

S
Auswählen
D
Löschen
DC
Löschen bei aktueller Cursorposition
I
Einfügen
U
Aktualisieren
UC
Aktualisieren bei aktueller Cursorposition
UPDATABLE CHAR(1) Nein Nein Zeigt an, ob diese Anweisung als aktualisierbar angesehen wird. Dies ist besonders wichtig für Anweisungen SELECT, die als potentiell aktualisierbar bestimmt werden können.

Die folgenden Werte sind möglich:

' '
Nicht zutreffend (leer)
N
Nein
Y
Ja
DELETABLE CHAR(1) Nein Nein Zeigt an, ob diese Anweisung als löschbar angesehen wird. Dies ist besonders wichtig für Anweisungen SELECT, die als potentiell löschbar bestimmt werden können.

Die folgenden Werte sind möglich:

' '
Nicht zutreffend (leer)
N
Nein
Y
Ja
TOTAL_COST DOUBLE Nein Nein Der geschätzte Gesamtaufwand (in Timerons) der Ausführung des ausgewählten Zugriffsplans für diese Anweisung; der Wert wird auf 0 (null) gesetzt, wenn EXPLAIN_LEVEL O ist (ursprünglicher Text), da zu diesem Zeitpunkt kein Zugriffsplan ausgewählt ist.
STATEMENT_TEXT CLOB(1M) Nein Nein Text oder Teil des Textes der mit EXPLAIN bearbeiteten SQL-Anweisung. Der Text, der für die Planauswahlstufe von EXPLAIN gezeigt wird, wurde aus der internen Darstellung rekonstruiert und ist SQL-ähnlich; das bedeutet, daß nicht garantiert wird, daß die rekonstruierte Anweisung der gültigen SQL-Syntax entspricht.
SNAPSHOT BLOB(10M) Ja Nein Momentaufnahme der internen Darstellung für diese SQL-Anweisung beim angezeigten Explain_Level.

Diese Spalte ist für die Verwendung mit DB2 Visual Explain konzipiert. Die Spalte wird auf null gesetzt, wenn der Wert für EXPLAIN_LEVEL gleich 0 ist (ursprüngliche Anweisung), da zu dem Zeitpunkt, zu dem diese spezifische Version der Anweisung erfaßt wird, kein Zugriffsplan ausgewählt ist.

QUERY_DEGREE INTEGER Nein Nein Gibt den Grad der partitionsinternen Parallelität zum Zeitpunkt des Aufrufs von EXPLAIN an. Für die Originalanweisung enthält diese Angabe den gesteuerten Grad der partitionsinternem Parallelität. Bei PLAN SELECTION enthält sie den Grad der partitionsinternen Parallelität, der für den zu verwendenden Zugriffsplan generiert wurde.


[ Seitenanfang | Vorherige Seite | Nächste Seite | Inhaltsverzeichnis | Index ]