Änderungen an Zugriffsplänen nach dem Implementieren einer Anwendung aus einem Testsystem in einem Produktionssystem suchen und korrigieren

Sie können ermitteln, ob die Zugriffspläne für SQL-Anweisungen in einem Testsystem gleich geblieben sind, wenn Sie diese SQL-Anweisungen in einem Produktionssystem implementiert haben. Wenn mindestens einer der Zugriffspläne im Produktionssystem verbessert werden muss, können Sie die problematischen SQL-Anweisungen optimieren oder eine Rücksetzung auf die im Testsystem verwendeten Zugriffspläne durchführen.

Vorbereitende Schritte

Informationen zu diesem Vorgang

In dieser Prozedur erstellen Sie eine Abfrageworkload der SQL-Anweisungen für eine Anwendung, die Sie testen. Sie optimieren diese Abfrageworkload und implementieren dann die Anwendung auf einem Produktionssystem. Als nächstes erstellen Sie auf diesem Produktionssystem eine Abfrageworkload derselben SQL-Anweisungen. Zuletzt vergleichen Sie die Zugriffspläne, die die SQL-Anweisungen auf dem Testsystem verwendet haben, mit den Zugriffsplänen, die die Anweisungen auf dme Produktionssystem verwenden. Wenn es Änderungen an den Zugriffsplänen gibt, die sich nachteilig auf das Produktionssystem auswirken, können Sie die Probleme beheben, indem Sie eine Abfrageworkload der problematischen Anweisungen erstellen und optimieren oder indem Sie eine Rücksetzung auf auf die Zugriffspläne des Testsystems durchführen.

Vorgehensweise

Gehen Sie wie folgt vor, um Änderungen an Zugriffsplänen aufgrund der Implementierung einer Anwendung aus einem Testsystem in einem Produktionssystem zu ermitteln und zu behandeln:

  1. Erstellen Sie in Ihrer Testumgebung eine Abfrageworkload der SQL-Anweisungen, die in Ihrer Anwendung enthalten sind.
    1. Erfassen Sie die SQL-Anweisungen.
    2. Klicken nach dem Erfassen der SQL-Anweisungen auf die Schaltfläche Alle in Workload speichern.
    3. Geben Sie im Fenster Workloadnamen und -beschreibung eingeben Informationen zur Identifikation der neuen Workload ein.
    Die Seite Workloads verwalten und optimieren des Abschnitts Verwalten wird geöffnet. Die neue Abfrageworkload wird in der Tabelle auf dieser Seite angezeigt. Der Status der Abfrageworkload ist CAPTURED.
  2. Führen die Advisorfunktion für Workloadstatistikdaten aus und implementieren Sie deren Empfehlungen.
  3. Stellen Sie sicher, dass der lokale Cache des Systemkatalogs den aktuellen Stand hat.
  4. Geben Sie an, dass die Abfrageworkload erneut mit EXPLAIN bearbeitet werden soll, wenn Sie die Advisorfunktion für Workloadindizes ausführen.
    1. Klicken Sie in der linken Seite des Workflowassistenten auf die Registerkarte Aufrufen, falls der Abschnitt Aufrufen noch nicht geöffnet ist.
    2. Wählen Sie auf der Seite Advisorfunktionen für Workloads ausführen die Option EXPLAIN-Informationen vor der Ausführung der Advisorfunktionen für Workloads erneut erfassen aus.
  5. Führen Sie die Advisorfunktion für Workloadstatistikdaten erneut aus, um herauszufinden, ob es zusätzliche Empfehlungen gibt. Wenn dies der Fall ist, implementieren Sie diese.
  6. Wenn Sie zusätzliche Empfehlungen aus der Advisorfunktion für Workloadstatistikdaten implementiert haben, stellen Sie sicher, dass der lokale Cache des Systemkatalogs aktuell ist.
  7. Geben Sie an, dass die Abfrageworkload erneut mit EXPLAIN bearbeitet werden soll, wenn Sie die Advisorfunktion für Workloadindizes ausführen.
    1. Klicken Sie in der linken Seite des Workflowassistenten auf die Registerkarte Aufrufen, falls der Abschnitt Aufrufen noch nicht geöffnet ist.
    2. Wählen Sie auf der Seite Advisorfunktionen für Workloads ausführen die Option EXPLAIN-Informationen vor der Ausführung der Advisorfunktionen für Workloads erneut erfassen aus.
  8. Führen die Advisorfunktion für Workloadindizes aus und implementieren Sie deren Empfehlungen.
  9. Wenn die Abfrageworkload entsprechend Ihrer Leistungsanforderung optimiert ist, implementieren Sie Ihre Anwendung in Ihrem Produktionssystem.
  10. Stellen Sie im Datenquellenexplorer eine Verbindung zu Ihrem Produktionssystem her.
  11. Klicken Sie mit der rechten Maustaste auf die Verbindung und wählen Sie Analysieren und optimieren > Optimierung starten.
  12. Erstellen Sie eine Abfrageworkload, die der auf dem Testsystem erstellten Abfrageworkload entspricht oder ihr ähnlich ist.
    1. Erfassen Sie die SQL-Anweisungen.
    2. Klicken nach dem Erfassen der SQL-Anweisungen auf die Schaltfläche Alle in Workload speichern.
    3. Geben Sie im Fenster Workloadnamen und -beschreibung eingeben Informationen zur Identifikation der neuen Workload ein.
    Die Seite Workloads verwalten und optimieren des Abschnitts Verwalten wird geöffnet. Die neue Abfrageworkload wird in der Tabelle auf dieser Seite angezeigt. Der Status der Abfrageworkload ist CAPTURED.
  13. Bearbeiten Sie die Abfrageworkload mit EXPLAIN.
    Anmerkung: Wenn Sie SQL-Anweisungen aus den folgenden Quellen erfasst haben und sich für die Speicherung von EXPLAIN-Informationen beim Erstellen der Abfrageworkload entschieden haben, müssen Sie die Abfrageworkload nicht mit EXPLAIN bearbeiten.
    • DB2 for Linux, UNIX, and Windows: ACTIVITIES-Ereignismonitore, EXPLAIN-Tabellen, Pakete, Paketcache
    • DB2 for z/OS: Katalogpläne und Pakete, Cache für dynamische Anweisungen
    1. Wählen Sie auf der Seite Workloads verwalten die Abfrageworkload aus und wählen Sie Ausgewählte Workload mit EXPLAIN bearbeiten im Feld Weitere Aktionen aus.
    2. Geben Sie im Fenster EXPLAIN-Informationen erfassen optionale Werte für die Laufzeitumgebung der SQL-Anweisungen an, die sich in der Abfrageworkload befinden.
  14. Kehren Sie zur Instanz des Workflowassistenten zurück, in dem Sie mit dem Testsystem verbunden sind. Wenn diese Instanz nicht mehr geöffnet ist, stellen Sie im Datenquellenexplorer eine Verbindung zum System her, klicken Sie mit der rechten Maustaste auf die Verbindung und wählen Sie Analysieren und optimieren > Optimierung starten aus.
  15. Klicken Sie auf der linken Seite des Workflowassistenten auf die Registerkarte Verwalten.
  16. Wählen Sie auf der Seite Workloads verwalten die in Schritt 1 erstellte Abfrageworkload aus.
  17. Klicken Sie auf die Schaltfläche Vergleichen.
  18. Wählen Sie die Option Zugriffspläne für die ausgewählte Workload mit Zugriffsplänen für eine andere Workload vergleichen aus.
  19. Wählen Sie im Assistenten Zugriffspläne mit Zugriffsplänen in einer anderen Workload vergleichen das Produktionssystem aus und klicken Sie auf Weiter.
  20. Wählen Sie die zweite Abfrageworkload aus, die Sie erstellt haben, und klicken Sie auf Weiter.
  21. Wählen Sie eine EXPLAIN-Momentaufnahme sowohl für die Abfrageworkload im Testsystem als auch für die Abfrageworkload im Produktionssystem aus, um diese im Vergleich zu verwenden. Klicken Sie anschließend auf Fertigstellen.

Nächste Schritte

Doppelklicken Sie auf der Seite Vergleichsprotokoll auf den Eintrag für den Vergleich. Prüfen Sie auf der Seite Vergleichsergebnisse nach EXPLAIN-Momentaufnahmen und SQL-Anweisungen anzeigent, ob die Tabelle Anweisungen Anweisungen mit Unterschieden in den beiden EXPLAIN-Momentaufnahmen enthält. Falls Sie die Ergebnisse mit anderen Benutzern gemeinsam nuten müssen, wählen Sie HTML-Vergleichsbericht generieren im Feld Weitere Aktionen über der Tabelle aus.

Wenn Sie feststellen, dass die Zugriffspläne oder der geschätzte Aufwand der SQL-Anweisungen im Produktionssystem verbessert werden müssen, können Sie eine Abfrageworkload aus diesen Anweisungen erstellen. Anschließend können Sie die Abfrageworkload optimieren. Wählen Sie im Feld Weitere Aktionen auf der Seite Vergleichsergebnisse nach EXPLAIN-Momentaufnahmen und SQL-Anweisungen anzeigen die Option Neue Abfrageworkload für Optimierung erstellen aus.

Eine andere Möglichkeit wäre, die Zugriffsplänen im Produktionssystem durch die Zugriffspläne aus dem Testsystem zu ersetzen. Wählen Sie im Feld Weitere Aktionen auf der Seite Vergleichsergebnisse nach EXPLAIN-Momentaufnahmen und SQL-Anweisungen anzeigen die Option Zugriffspläne für alle Anweisungen einfrieren aus. Bei dieser Methode muss Ihnen bewusst sein, dass Änderungen an Ihrem System, die Ihre Zugriffspläne verbessern könnten, wie z. B. die Verbesserung der Statistik oder die Anwendung von Wartung mit Verbesserungen am Optimierungsprogramm, sich nicht auf die eingefrorenen Zugriffspläne auswirken. Die Zugriffspläne werden jedoch vorhersehbar ausgeführt, da keine plötzlichen Änderungen auftreten.


Feedback