Einzelne SQL-Anweisungen optimieren

Sie können die Leistung von SQL-Anweisungen in Anwendungen verbessern, die auf DB2 for Linux, UNIX and Windows sowie DB2 for z/OS zugreifen.

Vorbereitende Schritte

Informationen zu diesem Vorgang

Obwohl es keine vordefinierte Reihenfolge gibt, in der die Advisorfunktionen, Analysetools und Berichte für die Optimierung von SQL-Anweisungen verwendet werden sollen, gibt es eine allgemeine Reihenfolge, auf der Sie Ihre eigenen Optimierungsszenarios basieren können.

Vorgehensweise

In den meisten Fällen können Sie die folgenden Schritte ausführen, um eine SQL-Anweisung zu optimieren.

  1. Erfassen Sie die SQL-Anweisung, die Sie optimieren wollen. Weitere Informationen finden Sie in Positionen, von denen Sie eine SQL-Anweisung für die Einzelabfragenoptimierung erfassen können.
  2. Wenn auf dem verbundenen Datenserver eine Lizenz für die Optimierung aktiviert ist, optimieren Sie die SQL-Anweisung durch die Ausführung der folgenden Schritte:
    1. Formatieren Sie die problematische Anweisung und versehen Sie sie mit Annotationen, damit sie einfacher gelesen und verstanden werden kann. Die Annotationen zeigen relevante Statistikdaten an, mit deren Hilfe Sie ermitteln können, welche Informationen das DB2-Optimierungsprogramm beim Generieren des Zugriffsplans verwendet. Siehe SQL-Anweisungen formatieren.
    2. Führen Sie mindestens einen der beiden folgenden Schritte aus:
    3. Führen Sie die Advisorfunktion für Statistikdaten aus und befolgen Sie ihre Empfehlungen, um sicherzustellen, dass dem DB2-Optimierungsprogramm aktuelle und erforderliche Statistikdaten zur Verfügung stehen. Siehe Empfehlungen für das Erfassen von Statistikdaten für Datenbankobjekte im Zugriffspfad einer SQL-Anweisung generieren und entsprechend reagieren.
    4. Führen Sie die Advisorfunktion für Indizes aus und befolgen Sie die Empfehlungen, um sicherzustellen, dass die richtigen Indizes vorhanden sind, um unnötige Tabellensuchen zu vermeiden. Siehe Empfehlungen für Indizes zum Verbessern der Leistung einzelner SQL-Anweisungen generieren und entsprechend reagieren.
    5. Führen Sie die Advisorfunktion für Abfragen aus und implementieren Sie ihre Empfehlungen, um Strukturen in der Anweisung zu finden und zu überarbeiten, die aller Wahrscheinlichkeit nach dazu führen, dass das DB2-Optimierungsprogramm einen nicht optimalen Zugriffspfad wählt. Siehe Empfehlungen für das Überarbeiten von SQL-Anweisungen für bessere Leistung generieren und entsprechend reagieren.
    6. Ermitteln Sie mit der Advisorfunktion für Zugriffspfade, ob das DB2-Optimierungsprogramm einen nicht optimalen Zugriffspfad zur Verarbeitung der Anweisung verwendet. Befolgen Sie anschließend die Empfehlungen der Advisorfunktion. Siehe Empfehlungen für das Ändern der Zugriffspfade für SQL-Anweisungen generieren und entsprechend reagieren.
    7. Wenn das DB2-Optimierungsprogramm weiterhin einen nicht optimalen Zugriffspfad verwendet, erstellen, überprüfen und implementieren Sie einen Planhinweis (bei DB2 for z/OS) oder ein Optimierungsprofil (bei DB2 for Linux, UNIX, and Windows), der bzw. das dem Optimierungsprogramm explizite Anweisungen zum Auswählen eines Zugriffspfads gibt.
  3. Wenn auf dem verbundenen Datenserver keine Lizenz für die Optimierung aktiviert ist, optimieren Sie die SQL-Anweisung durch die Ausführung der folgenden Schritte:
    Anmerkung: Wenn Sie IBM® Data Studio verwenden, ist auf dem Datenserver keine Lizenz aktiviert.
    1. Formatieren Sie die SQL-Anweisung, damit sie einfacher gelesen und verstanden werden kann. Die Anzeige einer formatierten Version der SQL-Anweisung kann zu Einsichten führen, die bei der unformatierten Version nicht so offensichtlich sind. Siehe SQL-Anweisungen formatieren.
    2. Analysieren Sie das Zugriffsplandiagramm für die SQL-Anweisung, um herauszufinden, wie DB2 auf Daten in den Objekten zugreift, auf die die Anweisung verweist. Siehe Grafische Darstellungen von Zugriffsplänen generieren.
    3. Führen Sie die Advisorfunktion für Statistikdaten aus und befolgen Sie ihre Empfehlungen, um sicherzustellen, dass dem DB2-Optimierungsprogramm aktuelle und wichtige Statistikdaten zur Verfügung stehen. Siehe Empfehlungen für das Erfassen von Statistikdaten für Datenbankobjekte im Zugriffspfad einer SQL-Anweisung generieren und entsprechend reagieren.

Feedback