Die Advisorfunktion für Workloadtabellenorganisation empfiehlt die Konvertierung nach Zeilen organisierter Tabellen in nach Spalten organisierte Tabellen und das Erstellen von Spiegeltabellen für nach Zeilen organisierte Tabellen, die in
analytischen Abfragen verwendet werden.
Vorbereitende Schritte
- Stellen Sie im IBM® Data Studio-Client Version 4.1.1 eine Verbindung zu einer Datenbank mit DB2 10.5 for Linux, UNIX, and Windows her, die unter einem AIX- oder Linux-Betriebssystem ausgeführt wird und für die Optimierung von Abfrageworkloads konfiguriert ist.
- Stellen Sie sicher, dass Sie über die erforderlichen Berechtigungen und Zugriffsrechte zum Analysieren und Optimieren von unter DB2 for Linux, UNIX, and Windows ausgeführten Abfrageworkloads verfügen.
- Prüfen Sie die Konfiguration der verbundenen Datenbank auf Abfrageworkloadoptimierung.
- Stellen Sie sicher, dass der lokale Cache des Systemkatalogs den aktuellen Stand hat.
- Optional: Modifizieren Sie globale Werte für die Benutzervorgaben der Advisorfunktion für Workloadtabellenorganisation. Die Advisorfunktion verwendet diese Werte bei jeder Ausführung, sofern Sie die Werte nicht außer Kraft setzen. Wenn Sie diese Benutzervorgaben nicht global oder beim Ausführen der Advisorfunktion ändern, verwendet die Advisorfunktion diese Standardwerte, die möglicherweise nicht Ihren Anforderungen entsprechen.
Informationen zu diesem Vorgang
Die Advisorfunktion prüft alle Tabellen, auf die von den Anweisungen in einer Abfrageworkload verwiesen wird. Die Advisorfunktion stellt ihre Analyse und Begründungen dar, sodass Sie die Tabellen sehen können, die für die Konvertierung empfohlen werden, sowie die, die nicht für die Konvertierung empfohlen werden. Sie können die Kardinalitäten der Tabellen, die Anzahl der Anweisungen in der Abfrageworkload, die auf sie verweisen, den kumulativen Aufwand für die Ausführung der Anweisungen, die auf eine Tabelle verweisen, die Anweisungen selbst und andere Informationen anzeigen.
Sie können die DDL zum Implementieren der Änderungen, die zum Konvertieren der Tabellen erforderlich sind, anzeigen und speichern. Sie können die DDL auch durch Klicken auf eine Schaltfläche in das Data Studio-Client-Feature zum Konvertieren von Tabellen in die Organisation nach Spalten importieren, wo Sie sie bearbeiten
und dann ausführen oder speichern können.
Tipp: Führen Sie diese Advisorfunktion nur aus, wenn Sie festgestellt haben, dass die Empfehlungen der Advisorfunktion für Workloadstatistikdaten und/oder die Empfehlungen der Advisorfunktion für Workloadindizes nicht zu einer ausreichenden Leistungssteigerung führen. Möglicherweise gelingt es Ihnen, die erforderliche Leistung für die Abfrageworkload durch das Zusammenstellen von Statistikdaten und/oder die Erstellung oder Modifizierung von Indizes zu erreichen. Außerdem ist die Advisorfunktion für Workloadtabellenorganisation auf korrekte Statistikdaten angewiesen, wenn sie ihre Empfehlungen generiert.
Einschränkung: Die Advisorfunktion kann die Erstellung von Spiegel-MQTs nur empfehlen, wenn die verbundene Datenbank mit
DB2 for Linux, UNIX, and Windows die Version 10.5.4 aufweist.
Vorgehensweise
Gehen Sie wie folgt vor, um Empfehlungen für die BLU-Beschleunigung zu generieren und auf sie zu reagieren:
- Erstellen Sie eine Workload mit den SQL-Anweisungen, die Sie zusammen optimieren wollen.
- Erfassen Sie die SQL-Anweisungen, die Sie optimieren wollen. Siehe Speicherpositionen, über die Sie SQL-Anweisungen zum Erstellen von Abfrageworkloads erfassen können, die unter DB2 for Linux, UNIX, and Windows ausgeführt werden.
- Klicken Sie auf die Schaltfläche Abfrageworkload aus allen Anweisungen erstellen und geben Sie nach der entsprechenden Aufforderung einen Namen und eine Beschreibung für die 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.
- Führen Sie die Advisorfunktion für Workloadstatistikdaten zweimal für die Abfrageworkload aus und implementieren Sie ihre Empfehlungen beide Male.
- Wählen Sie im Abschnitt Verwalten des Workflowassistenten die Abfrageworkload aus und klicken Sie auf die Schaltfläche Advisorfunktionen aufrufen.
- Optional: Legen Sie Werte für die Benutzervorgaben dieser Advisorfunktion fest, die die globalen Benutzervorgaben überschreiben. Wählen Sie Optionen der Advisorfunktion festlegen auf der linken Seite des Abschnitts Aufrufen aus.
Wählen Sie dann die Registerkarte Tabellenorganisation aus.
- Wählen Sie auf der linken Seite des Workflowassistenten Advisorfunktionen für Workloads ausführen aus.
- Wählen Sie die Option EXPLAIN-Informationen vor der Ausführung der Advisorfunktionen für Workloads erneut erfassen aus.
- Klicken Sie auf Select What to Run.
- Wählen Sie Tabellenorganisation aus und klicken Sie auf OK. Der Abschnitt Prüfen des Workflowassistenten wird auf der Seite Empfehlungen der Advisorfunktion für Workloads prüfen geöffnet.
Wenn Empfehlungen vorhanden sind, wird die Registerkarte Tabellenorganisation angezeigt.
- Klicken Sie auf die Registerkarte Tabellenorganisation.
Ergebnisse
In diesem Abschnitt werden die Tabellen aufgelistet, für die die Migration zur Organisation nach Spalten empfohlen oder nicht empfohlen wird.
Oben im Abschnitt finden Sie die geschätzte Leistungssteigerung für die gesamte Abfrageworkload.
Die Advisorfunktion berechnet die geschätzte Leistungssteigerung anhand folgender Schritte: - Es wird angenommen, dass alle empfohlenen Tabellenkonvertierungen ausgeführt werden
und dass die Indizes für diese Tabellen gelöscht werden.
- Es wird das Produkt der folgenden beiden Werte für jede Anweisung in einer Abfrageworkload ermittelt: Anzahl der Ausführungen * Anweisungsaufwand
- Die Produkte werden addiert.
Diese Spalten werden in der Tabelle ganz oben in diesem Abschnitt angezeigt:
- Tabelle
- Der Name einer nach Zeilen organisierten Tabelle, für die entweder die Konvertierung in die Organisation nach Spalten empfohlen wird oder für die empfohlen wird, dass sie unverändert bleibt.
- Ersteller
- Der Ersteller der Tabelle.
- Aktuelle Organisation
- Zeigt an, ob die Tabelle zurzeit nach Zeilen oder nach Spalten organisiert ist.
- Empfohlene Organisation
- Gibt an, ob für die Tabelle die Konvertierung in eine Organisation nach Spalten oder die Definition einer Spiegeltabelle empfohlen wird, oder ob die Tabelle unverändert bleiben sollte.
- Warnung
- Beschreibt für Tabellen, für die die Konvertierung empfohlen wird, Änderungen, die als Ergebnis der Konvertierung auftreten können.
- Für die Tabelle wird eine Spiegeltabelle definiert
- Zur Leistungsverbesserung analytischer Abfragen wird empfohlen, eine Spiegeltabelle für die Tabelle zu definieren. Eine Spiegeltabelle ist eine MQT (Materialized Query Table), die durch Replizierung verwaltet wird.
- Datenpartition geht verloren.
- Sie können die Datenpartitionierung nur wiederherstellen, wenn Sie die Tabelle zur Organisation nach Zeilen zurückkonvertieren.
- Integritätsbedingungen ENFORCED CHECK werden in NOT ENFORCED geändert.
- Es ist möglich, dass fehlerhafte Daten in die Tabelle eingefügt werden.
- Integritätsbedingungen ENFORCED RI werden in NOT ENFORCED geändert.
- Es ist möglich, dass fehlerhafte Daten in die Tabelle eingefügt werden.
- Indizes werden entfernt.
- Indizes sind in nach Spalten organisierten Tabellen nicht zulässig.
- MQTs werden entfernt.
- Auch nach dem Entfernen von MQTs können SQL-Anweisungen schneller auf Daten in der Tabelle zugreifen.
- Vom Benutzer verwaltete MQTs (Materialized Query Table) mit verzögerter Aktualisierung werden konvertiert; alle anderen MQTs werden gelöscht
- Alle vom Benutzer verwalteten MQTs mit verzögerter Aktualisierung, die für die Tabelle definiert sind, werden in die Organisation nach Spalten konvertiert, wenn die Tabelle von der Zeilenorganisation in die Spaltenorganisation konvertiert wird.
- Tabellenbereich wird geändert.
- Nach der Konvertierung befindet sich die Tabelle im Tabellenbereich, der in den Benutzervorgaben für die Advisorfunktion für Workloadtabellenorganisation angegeben ist, oder in einem Tabellenbereich, den die Advisorfunktion ausgewählt hat. Sie können das Konvertierungsscript so ändern, dass ein anderer Tabellenbereich verwendet wird.
- Kardinalität
- Die Anzahl der Zeilen in der Tabelle.
- Verweise auf Tabelle
- Angabe, wie oft die SQL-Anweisungen in der Abfrageworkload auf die Tabelle verweisen.
- Kumulativer Gesamtaufwand
- Die Summe des CPU-Aufwands in Timerons für jeden Zugriff auf Daten in
der Tabelle durch die SQL-Anweisungen, die sich in der Abfrageworkload befinden.
- Betroffene Anweisungen
- Die Anzahl der SQL-Anweisungen in der Abfrageworkload, die auf die Tabelle verweisen.
- Ergebnis
- Erläutert, warum die Tabelle für die Konvertierung empfohlen oder nicht empfohlen wird.
- Durch das Hinzufügen einer Spiegeltabelle können analytische Abfragen für die Tabelle schneller ausgeführt werden.
- Analytische Abfragen für diese Tabelle würden automatisch zur Spiegeltabelle weitergeleitet, um von der BLU-Beschleunigung zu profitieren.
- Eine Konvertierung ist aufgrund von Einschränkungen bei der Organisation nach Spalten nicht möglich.
- Folgende Tabellentypen können nicht in nach Spalten organisierte Tabellen konvertiert werden: MQTs (ausgenommen vom Benutzer verwaltete MQTs mit verzögerter Aktualisierung), deklarierte globale temporäre Tabellen, erstellte globale temporäre Tabellen.
Es bestehen weitere Einschränkungen. Tabellen mit LOB-Spalten können z. B. nicht konvertiert werden, ebensowenig wie Tabellen, die in MERGE-Anweisungen oder in Anweisungen, die Cursor deklarieren, verwendet werden.
Den vollen Satz von Einschränkungen finden Sie in der Dokumentation von DB2 for Linux, UNIX,
and Windows 10.5 oder höheren Versionen.
- Die Leistung würde durch eine Konvertierung gesteigert.
- Die Leistung der Abfrageworkload würde sich verbessern, wenn die Tabelle zur Organisation nach Spalten konvertiert würde.
- Die Leistung würde durch eine Konvertierung nicht gesteigert.
- Die Leistung der Abfrageworkload würde sich nicht verbessern, wenn die Tabelle zur Organisation nach Spalten konvertiert würde.
- Fehlende Statistiken ermöglichen keine Konvertierung.
- In der Tabelle fehlen Statistikdaten, daher kann die Konvertierung nicht zuverlässig erfolgen. Führen Sie die Advisorfunktion für Workloadstatistikdaten aus, um Statistikdaten für die Abfrageworkload zu erfassen, führen Sie die RUNSTATS-Anweisungen aus, die die Advisorfunktion empfiehlt, und führen Sie dann die Advisorfunktion für Workloadtabellenorganisation erneut aus.
- Die Tabelle ist bereits nach Spalten organisiert.
- Es ist keine Konvertierung erforderlich.
- Die Tabelle hat bereits eine Spiegeltabelle.
- Eine durch Replikation verwaltete MQT ist für diese nach Zeilen organisierte Tabelle bereits definiert.
Diese Spalten werden in der Tabelle Betroffene SQL-Anweisungen angezeigt. Die Tabelle listet alle SQL-Anweisungen
in der Abfrageworkload auf, die durch die Konvertierung der aufgelisteten Tabellen zur Organisation nach Spalten betroffen wären.
- Ausführungszähler
- Die Anzahl der Ausführungen der SQL-Anweisung in der Abfrageworkload.
- Gewichtung
- Die relative Gewichtung der Anweisung in der Abfrageworkload. Der Wert wird durch Multiplizieren des Werts in der Spalte Aufwand vorher mit der Anzahl der Ausführungen und anschließendes Dividieren des Produkts durch die Summe des vorherigen Aufwands für die Abfrageworkload berechnet.
- Geschätzte Leistungssteigerung
- Die geschätzte Erhöhung der Leistung der Anweisung, mit der auf die ausgewählte Tabelle zugegriffen wird, wenn die Empfehlung zur Konvertierung implementiert wird.
- Eine geschätzte Leistungssteigerung von 90,61 % bedeutet z. B., dass
90,61 % weniger CPU-Zeit für den Zugriff der Anweisung auf die ausgewählte Tabelle erforderlich ist.
- Aufwand vorher
- Der Aufwand der Anweisung in Timerons vor der Konvertierung der Tabelle, auf die verwiesen wird, in eine nach Spalten organisierte Tabelle.
- Aufwand nachher
- Der Aufwand der Anweisung in Timerons nach der Konvertierung der Tabelle, auf die verwiesen wird, in eine nach Spalten organisierte Tabelle.
- SQL-Anweisung
- Der Text der Anweisung. Klicken Sie mit der rechten Maustaste auf die Zeile und wählen Sie SQL-Anweisung anzeigen aus, damit der komplette Text der Anweisung angezeigt wird.
Nächste Schritte
Werten Sie die geschätzten Leistungssteigerungen bei der Abfrageworkload aus, um herauszufinden, ob sie Ihnen helfen, Ihre Leistungsanforderungen zu erfüllen. Wenn Sie sich dafür entscheiden, die Empfehlungen zu befolgen, stellen Sie sicher, dass für Ihre Datenbank ein Backup durchgeführt wurde, bevor Sie das von der Advisorfunktion generierte Script ausführen. Außerdem müssen Sie daran denken, dass referenzielle Integritätsbedingungen für Tabellen während der Konvertierung in die Organisation nach Spalten entfernt werden.
Wenn Sie Empfehlungen zum Erstellen von Spiegeltabellen befolgen, stellen Sie sicher, dass InfoSphere Change Data Capture for DB2 for Linux, UNIX, and Windows installiert ist, eine Instanz erstellt ist und
alle Spiegeltabellen in Ihrer Datenbank über eine einzige Subskription verwaltet werden.
Wenn Sie ein Zugriffsplandiagramm für eine beliebige SQL-Anweisung generieren, die auf eine nach Spalten organisierte Tabelle oder Spiegel-MQT verweist, enthält das Diagramm einen Operator mit der Bezeichnung CTQ an allen Stellen, wo ein Übergang zwischen nach Spalten organisierter Verarbeitung und nach Zeilen organisierter Verarbeitung besteht. Weitere Informationen zum Operator CTQ finden Sie in Neue mit EXPLAIN bearbeitete Informationen für in Spalten organisierte Tabellen.