DB2 Universal Database - Systemverwaltung


Auswählen eines EXPLAIN-Programms

DB2 verfügt unter vergleichbaren Systemen über die umfangreichste EXPLAIN-Einrichtung, die detaillierte Informationen des Optimierungsprogramms über den für eine mit EXPLAIN bearbeitete SQL-Anweisung gewählten Zugriffsplan zur Verfügung stellt. Sie haben die Wahl zwischen mehreren Methoden, die Ihnen die nötige Flexibilität bei der Erfassung und Auswertung von EXPLAIN-Informationen geben.

Detaillierte Informationen des Optimierungsprogramms, die eine eingehende Analyse eines Zugriffsplans ermöglichen, werden getrennt vom eigentlichen Zugriffsplan in EXPLAIN-Tabellen gespeichert. Es gibt drei Möglichkeiten, auf Informationen der EXPLAIN-Tabellen zuzugreifen:

  1. Schreiben eigener Abfragen (mit Hilfe der Beschreibungen der EXPLAIN-Tabellen in Anhang G, EXPLAIN-Tabellen und Definitionen)
  2. Das Programm db2exfmt
  3. Visual Explain (zur Anzeige von EXPLAIN-Momentaufnahmen)

Der Zugriff auf die EXPLAIN-Tabellen, die Informationen zu statischen und dynamischen SQL-Anweisungen enthalten, ist auf allen unterstützten Plattformen möglich. Sie können auf die EXPLAIN-Tabellen mit SQL-Anweisungen zugreifen, die eine einfache Bearbeitung der Ausgabe sowie Vergleiche zwischen verschiedenen Abfragen bzw. Vergleiche derselben Abfrage über einen bestimmten Zeitraum hinweg ermöglichen. Wenn Sie die Informationen der EXPLAIN-Tabellen in einem vordefinierten Format erhalten möchten, können Sie das Programm db2exfmt verwenden. Weitere Informationen zu diesem Programm finden Sie in Anhang I, db2exfmt - EXPLAIN-Tool für Tabellenformat. Andernfalls müssen Sie eigene Anweisungen zum Zugriff auf die Tabellen erstellen.
Anmerkung:Dieses Programm (wie auch db2batch, dynexpln, db2vexp und db2_all) befindet sich im Unterverzeichnis misc des Verzeichnisses sqllib. Wenn dieses Tool aus diesem Pfad versetzt wurde, funktioniert der oben genannte Befehl vielleicht nicht.

Visual Explain ermöglicht die Analyse des Zugriffplans und der Informationen des Optimierungsprogramms in den EXPLAIN-Tabellen mit Hilfe einer grafischen Schnittstelle. Mit diesem Tool können sowohl statische als auch dynamische SQL-Anweisungen analysiert werden. Visual Explain wird in der Regel über die Steuerzentrale aufgerufen. Die Steuerzentrale kann ihrerseits über die Befehlszeile durch Eingabe des Befehls db2cc aufgerufen werden. Visual Explain kann jedoch auch für eine einzelne SQL-Anweisung direkt über die Befehlszeile mit Hilfe des Befehls db2vexp aufgerufen werden. Auf einigen Plattformen kann Visual Explain mit Hilfe eines Ordners im Ordner von DB2 Universal Database aufgerufen werden. Visual Explain steht nicht auf allen unterstützten Plattformen zur Verfügung. Das Handbuch Einstieg für Ihre Plattform enthält Informationen darüber, ob Visual Explain unterstützt wird. Visual Explain ermöglicht Ihnen, auf einer anderen Plattform erfaßte oder erstellte Momentaufnahmen anzuzeigen. Zum Beispiel kann ein Windows NT-Client Momentaufnahmen darstellen, die auf einem Server unter DB2 für HP-UX generiert wurden. Dazu müssen beide Plattformen jedoch die Version 5 oder höher haben. Die Ausgabe von Visual Explain kann zur weiteren Analyse nicht einfach bearbeitet werden, und auch andere Anwendungen können auf diese Informationen nicht zugreifen. Weitere Informationen zum Befehl db2vexp können Sie mit dem Befehl db2vexp -h über die Befehlszeile anzeigen oder im Handbuch Command Reference nachlesen. Weitere Informationen zu Visual Explain enthält die Online-Hilfefunktion in der Steuerzentrale, auf die Sie mit dem Befehl db2cc zugreifen können.

Informationen zu Zugriffsplänen für statische SQL-Anweisungen werden generiert und im Systemkatalog als Teil eines Pakets gespeichert. Zugriffsplaninformationen, die für ein oder mehrere Pakete verfügbar sind, können mit dem Programm db2expln über die Befehlszeile angezeigt werden. Das Programm db2expln zeigt die tatsächliche Implementierung des gewählten Zugriffsplans. Informationen des Optimierungsprogramms werden nicht angezeigt.

Das Programm dynexpln, das intern auf db2expln zurückgreift, stellt eine schnelle Methode zur Analyse dynamischer SQL-Anweisungen dar, die keine Parametermarken enthalten. Die Verwendung von db2expln innerhalb des Programms dynexpln wird durch die Transformation der Eingabeanweisung in eine statische SQL-Anweisung innerhalb eines Pseudopakets ermöglicht. Wenn dieses Verfahren angewandt wird, sind die Informationen nicht immer ganz exakt. Wenn es auf Genauigkeit ankommt, sollten Sie die EXPLAIN-Einrichtung verwenden, die im Abschnitt Verwenden der SQL-EXPLAIN-Einrichtung beschrieben wird.

Das Programm db2expln liefert einen relativ kompakten und englisch aufbereiteten Überblick über die Operationen, die bei der Ausführung stattfinden, in dem der tatsächlich generierte Zugriffsplan analysiert wird. (Auf Seite *** finden Sie weitere Informationen über die Generierung des Codes). Weitere Einzelheiten zur Verwendung von db2expln und zur Interpretation der Ausgabe finden Sie in Anhang H, EXPLAIN-Programme (SQL).

Tabelle 51 enthält eine Übersicht über die verschiedenen, in der EXPLAIN-Einrichtung von DB2 verfügbaren Tools und ihre Merkmale. Verwenden Sie die Tabelle zur Auswahl des Tools, das für Ihre Anforderungen und Ihre Umgebung am besten geeignet ist.

Tabelle 51. Tools der EXPLAIN-Einrichtung
Merkmale Visual Explain db2vexp EXPLAIN- Tabellen db2exfmt db2expln dynexpln
Grafische Benutzerschnittstelle Ja Ja        
Textausgabe       Ja Ja Ja
Kurze und schnelle Analyse statischen SQLs         Ja  
Unterstützung für statisches SQL Ja   Ja Ja Ja  
Unterstützung für dynamisches SQL Ja Ja Ja Ja   Ja*
Unterstützung für CLI-Anwendungen Ja   Ja Ja    
Verfügbar für DRDA-Anwendungs-Requester     Ja      
Detaillierte Informationen des Optimierungsprogramms Ja Ja Ja Ja    
Geeignet zur Analyse mehrerer Anweisungen     Ja Ja Ja Ja
Zugriff auf die Informationen aus einer Anwendung heraus     Ja      
Anmerkung:

*
Verwendet indirekt db2expln; es gelten einige Einschränkungen.


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