Mit der Advisorfunktion für Workload-Design können Sie herausfinden, wie MQTs (Materialized Query Tables), mehrdimensionales Clustering und die Umverteilung von Daten die Leistung von Abfrageworkloads, die unter DB2 for Linux, UNIX,
and Windows ausgeführt werden, steigern können
Vorbereitende Schritte
- Wenn Sie planen, Empfehlungen für MDC (Multidimensional Clustering - Mehrdimensionales Clustering) zu erstellen, gehen Sie wie folgt vor:
- Wenn die verbundene DB2-Datenbank unter Windows ausgeführt wird, stellen Sie sicher, dass die Version 9.7, FixPack 6 oder 10, ist. Empfehlungen für das multidimensionale Clustering sind für frühere Versionen nicht verfügbar, die unter Windows ausgeführt werden. Diese Einschränkung gilt nicht für DB2-Datenbanken, die unter Linux ausgeführt werden.
- Stellen Sie sicher, dass die Tabellen über ausreichende Datenvolumina verfügen. Es werden mindestens 20-30 MB Daten empfohlen. Tabellen, die weniger als 12 Speicherbereiche haben, werden nicht berücksichtigt.
- Stellen Sie sicher, dass ausreichender Speicherbereich (ca. 1 % der Tabellendaten bei umfangreichen Tabellen) für die Stichprobendaten verfügbar sind, die die Advisorfunktion für Workload-Design verwendet.
- Wenn Sie planen, Empfehlungen für die Umverteilung von Daten auf Datenbankpartitionen zu erstellen, gehen Sie wie folgt vor: Registrieren Sie den Lizenzschlüssel für Database Partitioning Feature (DPF).
- Es wird empfohlen, einen separaten Tabellenbereich in der Katalogdatenbankpartition zur Speicherung der simulierten Katalogtabellen zu erstellen und die Option DROPPED TABLE RECOVERY in der Anweisung CREATE oder ALTER TABLESPACE
auf OFF zu setzen. Die Erstellung dieses Tabellenbereichs erleichtert das schnellere Ausführen der Advisorfunktion für Workload-Design. Die Advisorfunktion verwendet die simulierten Katalogtabellen bei der Auswahl möglicher zum empfehlender MQTs.
- 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.
- Optional: Modifizieren Sie globale Werte für die Optionen der Advisorfunktion für Workload-Design. Die Advisorfunktion verwendet diese Werte bei jeder Ausführung, sofern Sie die Werte nicht außer Kraft setzen.
- Führen Sie die Advisorfunktion für Workloadstatistikdaten aus und führen Sie die RUNSTATS-Befehle aus, die die Advisorfunktion empfiehlt.
- Führen Sie die Advisorfunktion für Workloadstatistikdaten erneut aus, um Empfehlungen für neue Statistiksichten und Änderungen an vorhandenen Statistiksichten abzurufen.
Befolgen Sie anschließend die Empfehlungen.
- Führen Sie die Advisorfunktion für Workloadindizes aus, um Empfehlungen für neue Indizes und Änderungen an vorhandenen Indizes abzurufen, auf die von SQL-Anweisungen in der Abfrageworkload verwiesen wird.
- Stellen Sie sicher, dass der lokale Cache des Systemkatalogs den aktuellen Stand hat.
Einschränkung: Die Advisorfunktion für Workload-Design erstellt keine MDC-Empfehlungen für typisierte, temporäre oder föderierte Tabellen.
Diese Advisorfunktion macht außerdem keine Empfehlungen für mehrspaltige Dimensionen.
Diese Advisorfunktion ignoriert Tabellen, für die keine Statistikdaten vorhanden sind.
Einschränkung: Die Advisorfunktion für Workload-Design kann die Datenbankpartitionierung nur für DB2 Enterprise Server Edition empfehlen.
Vorgehensweise
Gehen Sie wie folgt vor, um Empfehlungen von der Advisorfunktion für Workload-Design zu erstellen und auf diese zu reagieren:
- Öffnen Sie im Abschnitt Verwalten die Seite Workloads verwalten und optimieren.
- Wählen Sie die Abfrageworkload aus und klicken Sie auf das Symbol Advisorfunktionen und Tools aufrufen, das sich am linken Ende der Symbolleiste über der Liste der Abfrageworkloads befindet. Die Seite Advisorfunktionen für Workloads ausführen des Abschnitts Aufrufen wird geöffnet.
- Optional: Modifizieren Sie die Werte der Optionen für die Advisorfunktion für Workload-Design. Klicken Sie auf der linken Seite des Abschnitts Aufrufen unter Workload auf Optionen für Advisorfunktion festlegen. Klicken Sie dann auf die Registerkarte Design, um die Optionen anzuzeigen, die Sie modifizieren können. Wenn Sie Hilfe zu den Optionen brauchen, klicken Sie auf das Hilfesymbol (?). Nachdem Sie die gewünschten Werte für Optionen modifiziert haben, klicken Sie auf der linken Seite des Abschnitts Prüfen auf Advisorfunktionen für Workloads ausführen.
- Stellen Sie sicher, dass die Option EXPLAIN-Informationen vor der Ausführung der Advisorfunktionen für Workloads erneut erfassen ausgewählt ist.
- Klicken Sie auf die Schaltfläche Auswählen, was ausgeführt werden soll.
- Wählen Sie im Fenster Aktivitäten auswählen mindestens eine dieser Optionen aus und klicken Sie auf OK.
- MQTs (Materialized Query Tables)
- Mehrdimensionales Clustering
- Daten auf Datenbankpartitionen verteilen
- Geben Sie im Fenster EXPLAIN-Informationen erfassen Werte für die Laufzeitumgebung der SQL-Anweisungen an, die sich in der Abfrageworkload befinden.
Der Workflowassistent muss die EXPLAIN-Anweisungen für jede Abfrage erstellen, die sich in der Abfrage befindet. Die Advisorfunktion für Workload-Design erfordert aktuelle Informationen zu den SQL-Anweisungen. Weitere Informationen erhalten Sie, wenn Sie auf das Hilfesymbol in der unteren linken Ecke des Fensters klicken.
- Klicken Sie auf der Seite Empfehlungen der Advisorfunktion für Workloads prüfen auf die Registerkarte Design, wenn neue Empfehlungen vorhanden sind.
- Prüfen Sie diese Informationen am Anfang des Abschnitts Design.
- Geschätzte Leistungsverbesserung
- Der Prozentsatz, um den sich schätzungsweise die zur Verarbeitung der Abfrageworkload erforderliche Zeit verringert, wenn Sie alle empfohlenen Objekte erstellen.
- Erforderlicher Plattenspeicherplatz (DASD-Einheit)
- Der Plattenspeicherplatz, der erforderlich ist, um alle empfohlenen Objekte zu erstellen.
Tabelle
mit Empfehlungen für Indizes für empfohlene MQTs
Diese Indizes sollen die Leistung der Abfrageworkload, nicht die der MQT-Aktualisierungen verbessern.
- NAME
- Name des Index.
- CREATOR
- Qualifikationsmerkmal des Index.
- TBNAME
- Name der MQT, in der der Index definiert ist.
- TBCREATOR
- Qualifikationsmerkmal der Tabelle.
- COLNAMES
- Liste der Spalten, für die der Index definiert ist.
- COLCOUNT
- Anzahl Spalten im Schlüssel plus Anzahl der INCLUDE-Spalten (falls vorhanden).
- NLEAF
- Anzahl der Blattseiten; -1, wenn keine Statistikdaten gesammelt werden.
- NLEVELS
- Anzahl der Indexstufen; -1, wenn keine Statistikdaten gesammelt werden.
- FIRSTKEYCARD
- Anzahl unterschiedlicher Werte erster Schlüssel; -1, wenn keine Statistikdaten gesammelt werden.
- FULLKEYCARD
- Anzahl unterschiedlicher Werte vollständiger Schlüssel; -1, wenn keine Statistikdaten gesammelt werden.
- INDEXTYPE
- Indextyp. CLUS = Clustering; REG =
Regulär; DIM = Dimensionsblockindex; BLOK =
Blockindex
- UNIQUERULE
- Eindeutige Regel. D = Gleiche Werte zulässig; P =
Primärindex; U = Nur eindeutige Einträge zulässig
- EXISTS
- Y, falls der Index im Datenbankkatalog vorhanden ist. N, falls der Index zurzeit nicht im Katalog vorhanden ist.
Tabelle empfohlener MQTs
Die Advisorfunktion für Workload-Design empfiehlt keine inkrementellen MQTs. Wenn Sie inkrementelle MQTs erstellen wollen, können Sie MQTs mit unverzüglicher Aktualisierung (REFRESH DEFERRED) mit Ihrer Auswahl von Staging-Tabellen in inkrementelle MQTs konvertieren.
Wenn Aktualisierungs-, Einfüge- oder Löschoperationen nicht in der Workload enthalten sind, wird der Leistungseinfluss der Aktualisierung einer empfohlenen
MQT mit unverzüglicher Aktualisierung nicht berücksichtigt.
- NAME
- Name der MQT.
- CREATOR
- Qualifikationsmerkmal der MQT.
- NUMROWS
- Geschätzte Anzahl Zeilen in der MQT.
- NUMCOLS
- Anzahl Spalten, die in der MQT definiert sind.
- ROWSIZE
- Für die künftige Verwendung reserviert.
- MQT_SOURCE
- Gibt an, wo der MQT-Kandidat generiert wurde. I gibt an, dass der MQT-Kandidat eine MQT mit unverzüglicher Aktualisierung ist. D gibt an, dass der MQT-Kandidat nur als vollständige MQT mit verzögerter Aktualisierung erstellt werden kann.
- CREATION_TEXT
- Enthält die CREATE TABLE-DDL für die MQT.
- TBSPACE
- Tabellenbereich, der für die MQT empfohlen wird.
- REFRESH_TYPE
- Aktualisierungstyp. I = unverzüglich; D = verzögert
- EXISTS
- Y, falls die MQT im Datenbankkatalog vorhanden ist.
- REPLICATE
- Gibt an, ob ein Teil der MQT in einer Partition einer replizierten Datenbank verteilt wird.
Tabelle der empfohlenen MDC-Tabellen (Multidimensional Clustering - Mehrdimensionales Clustering)
In der Tabelle werden reguläre Tabellen, vorhandene MQTs oder empfohlene MQTs aufgelistet, die von der Advisorfunktion für Workload-Design für die Konvertierung in MDC-Tabellen empfohlen werden. Bevor Sie die CREATE-DDL-Scripts zum Erstellen der MDC-Tabellen ausführen, führen Sie eine der folgenden Schrittfolgen aus:
- Exportieren Sie die Daten aus den regulären Tabellen, löschen Sie die regulären Tabellen,
erstellen Sie die MDC-Tabellen und importieren Sie dann die Daten in diese.
- Benennen Sie diese regulären Tabellen um, erstellen Sie die MDC-Tabellen, kopieren Sie die Daten
aus diesen regulären Tabellen in die MDC-Tabellen und löschen Sie die regulären Tabellen.
- TABLE_NAME
- Name der Tabelle.
- TABLE_SCHEMA
- Qualifikationsmerkmal der Tabelle.
- TABLESPACE
- Tabellenbereich, in dem die Tabelle erstellt werden soll.
- SELECTION_FLAG
- Gibt den Empfehlungstyp an. Gültige Werte sind M für
MQT,
P für Datenbankpartitionierung und C für
MDC. Dieses Feld kann jede Teilmenge dieser Werte enthalten. Beispielsweise gibt MC an, dass die Tabelle als MQT und als MDC-Tabelle empfohlen wird.
- TABLE_EXISTS
- Y, falls die Tabelle im Datenbankkatalog vorhanden ist.
- ORGANIZE BY
- Enthält die ORGANIZE BY-Klausel der CREATE TABLE-DDL.
- CREATION_TEXT
- Enthält die CREATE TABLE-DDL.
Tabelle mit Empfehlungen für die Verteilung von Daten auf Datenbankpartitionen
In dieser Tabelle werden die Tabellen aufgelistet, deren Verteilung auf Datenbankpartitionen empfohlen wird.
- TABLE_NAME
- Name der Tabelle.
- TABLE_SCHEMA
- Qualifikationsmerkmal der Tabelle.
- TABLESPACE
- Tabellenbereich, in dem die Tabelle erstellt werden soll.
- TABLE_EXISTS
- 'Y', falls die Tabelle im Datenbankkatalog vorhanden ist.
- COLNAMES
- Gibt die Verteilungsschlüsselspalten an, auf die die Tabelle verteilt wird.
- USEIT
- 'Y' gibt an, dass die Datenbankpartition im EVALUATE PARTITION-Modus verwendet wird.
- COST
- Gibt den Aufwand für die Verwendung der Datenbankpartition in Timeron an.
- Klicken Sie auf das Symbol Ausführen in der Symbolleiste, um das Fenster DDL ausführen zu öffnen, in dem Sie die empfohlenen DDL-Scripts ausführen oder speichern können.
Nächste Schritte
Nachdem Sie die Scripts ausgeführt haben, bearbeiten Sie die SQL-Anweisungen, die sich in der Abfrageworkload befinden, erneut mit EXPLAIN. Sie können hierfür zum Abschnitt
Aufrufen zurückkehren und das Kontrollkästchen
EXPLAIN-Informationen vor der Ausführung der Advisorfunktionen für Workloads erneut erfassen auswählen, bevor Sie Advisorfunktionen für die Ausführung auswählen.