Sie können für eine SQL- oder XPATH-Anweisung ein Diagramm des aktuellen Zugriffsplans generieren, um festzustellen, wie Ihr Datenserver die Anweisung verarbeitet. Anhand der Informationen in der Grafik können Sie die SQL-Anweisungen so optimieren, dass deren Leistung verbessert wird.
Informationen zu diesem Vorgang
Mit Visual Explain haben Sie folgende Möglichkeiten:
- Sie können die Statistikdaten anzeigen, die bei der Optimierung verwendet wurden.
Diese Statistikdaten können Sie dann mit den aktuellen Katalogstatistikdaten vergleichen, um festzustellen, ob ein erneutes Binden des Pakets die Leistung möglicherweise verbessert.
- Sie können feststellen, ob für den Zugriff auf eine Tabelle ein Index verwendet wurde.
Wurde kein Index verwendet, kann Visual Explain Ihnen helfen festzustellen, für welche Spalten eine Indexierung von Nutzen sein könnte.
- Sie können zu jeder Operation im Zugriffsplan Informationen abrufen, einschließlich des geschätzten Gesamtaufwands und der Zahl abgerufener Zeilen (Kardinalität).
Vorgehensweise
Gehen Sie wie folgt vor, um das Diagramm des aktuellen Zugriffsplans für eine Abfrage zu generieren:
- Optional: Legen Sie Benutzervorgaben fest, wie Visual Explain arbeitet und wie Diagramme in Visual Explain angezeigt werden.
- Führen Sie einen der folgenden Schritte aus:
- Klicken Sie im Datenprojektexplorer mit der rechten Maustaste auf eine SQL-Anweisung, eine gespeicherte SQL-Prozedur oder eine benutzerdefinierte SQL-Funktion und wählen Sie Visual Explain öffnen aus.
- Klicken Sie im Datenquellenexplorer mit der rechten Maustaste auf eine Sicht, eine gespeicherte SQL-Prozedur oder eine benutzerdefinierte SQL-Funktion, die eine Anweisung INSERT, UPDATE, DELETE oder SELECT enthält. Wählen Sie Visual Explain öffnen aus. Findet die Workbench mehrere SQL- oder XQUERY-Anweisungen, verwendet sie die erste Anweisung.
- Heben Sie die Anweisung INSERT, UPDATE, DELETE oder SELECT oder die XPATH- oder XQUERY-Anweisung in einem SQL-Editor, Routineneditor oder Java-Editor hervor, klicken Sie mit der rechten Maustaste darauf und wählen Sie Visual Explain öffnen aus.
Versuche, Visual Explain über eine SQL-Anweisung in einem Java-Editor zu öffnen, schlagen fehl, wenn die SQL-Anweisung Variablen enthält, die in Ihrer Anwendung deklariert sind. Die folgende SQL-Anweisung beispielsweise kann von Visual Explain aufgrund der beiden Variablen im Vergleichselement nicht analysiert werden:
select count(*), sum(order.price)
from order
where order.date > var_date_1
and order.date < var_date_2
Nach dem Binden oder Implementieren der Anwendung können Sie jedoch mithilfe von InfoSphere Optim Query Tuner oder den Funktionen zur Optimierung einzelner Abfragen in Data Studio die SQL-Anweisung aus einem DB2-Paket oder aus dem dynamischen Anweisungscache erfassen und anschließend optimieren.
Anmerkung: Visual Explain wird inaktiviert oder löst eine Ausnahmebedingung aus, wenn die ausgewählte SQL-Anweisung oder das ausgewählte Objekt nicht mit EXPLAIN bearbeitbar ist. Von Visual Explain können nur die in der folgenden Liste aufgeführten SQL-Anweisungen mit EXPLAIN bearbeitet werden:
- Bei DB2 for Linux, UNIX, and Windows: CALL, Compound-SQL-Anweisung (dynamisch), DELETE, INSERT, MERGE, REFRESH, SELECT, SELECT INTO,
SET INTEGRITY, UPDATE, VALUES oder VALUES INTO.
- Bei DB2 for z/OS: SELECT, INSERT oder die durchsuchte Form einer Anweisung UPDATE oder DELETE.
- Geben Sie auf der ersten Seite des Assistenten das Abschlusszeichen für die SQL-, XPATH- oder XQUERY-Anweisung an, für die Sie ein Zugriffsplandiagramm erstellen wollen.
- Optional: Auf der ersten Seite des Assistenten können Sie außerdem Einstellungen für verschiedene Optionen angeben.
- Geben Sie an, ob die erfassten EXPLAIN-Daten in EXPLAIN-Tabellen gespeichert werden sollen. Wenn Sie diese Option auswählen, muss Visual Explain keine EXPLAIN-Daten erfassen, wenn Sie das nächste Mal für dieselbe Anweisung ein Zugriffsplandiagramm erstellen wollen.
Einschränkung: Diese Option ist für Oracle-Datenserver nicht verfügbar.
- Geben Sie das Verzeichnis an, das Visual Explain als Arbeitsverzeichnis verwenden soll.
- Wenn die IBM Unterstützungsfunktion einen Trace benötigt, geben Sie an, ob für die Erstellung des Zugriffsplandiagramms ein Trace erstellt werden soll und ob für die Erfassung der EXPLAIN-Daten ein Trace erstellt werden soll.
- Geben Sie an, ob Ihre Einstellungen als Standardwerte für alle Diagramme gespeichert werden sollen, die Sie mit Visual Explain erstellen. Sie können diese Standardeinstellungen im Fenster Benutzervorgaben ändern.
- Legen Sie auf der zweiten Seite des Assistenten Werte für die Sonderregister fest, um die Laufzeitumgebung anzupassen und so das Erfassen von EXPLAIN-Daten zu beeinflussen.
Wenn Visual Explain die Anweisung zum Erfassen von EXPLAIN-Daten ausführt, werden die von Ihnen angegebenen Werte verwendet.
Achtung: Beachten Sie die folgenden Informationen zu DB2-Datenservern.
- Für DB2 for z/OS: Wenn Sie für CURRENT
SCHEMA und CURRENT SQLID unterschiedliche Werte angeben, sucht Visual Explain nach EXPLAIN-Tabellen, die durch den in CURRENT SQLID angegebenen Wert qualifiziert werden. Findet Visual Explain keine EXPLAIN-Tabellen, die durch den Wert in CURRENT SQLID angegebenen Wert qualifiziert werden, wird versucht, die Tabellen unter Verwendung dieses Werts zu erstellen.
- Für DB2 for Linux, UNIX, and Windows: Wenn Sie den Wert von CURRENT SCHEMA in einen Wert mit Sonderzeichen ändern, müssen Sie den Wert in einfache Anführungszeichen einschließen.
- Für DB2 for Linux, UNIX, and Windows: Wählen Sie das Kontrollkästchen Spalten- und Spaltengruppenstatistik erfassen aus, wenn Visual
Explain detaillierte Statistikdaten zu Clusterspalten und Spalten erfassen soll, die in einer Klausel GROUP BY verwendet werden.
- Optional: Geben Sie auf der zweiten Seite des Assistenten an, ob Ihre Einstellungen als Standardeinstellungen für alle Diagramme gespeichert werden sollen, die Sie mit Visual Explain erstellen. Sie können diese Standardeinstellungen im Fenster Benutzervorgaben ändern.
- Klicken Sie auf Fertig stellen, um den Assistenten zu schließen und das Diagramm zu generieren.
Ergebnisse
Die Workbench zeigt das Diagramm in der Sicht
Zugriffsplandiagramm an. In dieser Sicht können Sie im Diagramm navigieren, Beschreibungen der Knoten im Diagramm anzeigen und nach Knoten suchen.