Mit einem Optimierungsprofil können Sie direkt beeinflussen, wie ein Zugriffsplan für eine SQL-Anweisung erstellt wird. Im Profil können Sie die zu verwendenden Indizes, den Zugriff auf von der SQL-Anweisung referenzierte Tabellen, die zu verwendende Joinmethode und andere Einstellungen angeben.
Informationen zu diesem Vorgang
Ein Optimierungsprofil kann globale Richtlinien enthalten, die für alle DML-Anweisungen gelten, die ausgeführt werden, während das Profil gültig ist, sie kann aber auch bestimmte Richtlinien enthalten, die nur für einzelne DML-Anweisungen eines Pakets gelten.
Gehen Sie wie folgt vor, um den visuellen Editor zum Erstellen, Überprüfen und Implementieren von Optimierungsprofilen zu öffnen:
Nächste Schritte
Geben Sie über die Abschnitte der Seite Zugriffsplan mit einem Optimierungsprofil anpassen Richtlinien für ein Optimierungsprofil an.
Diese Seite besteht aus drei Abschnitten.
- Joindiagramm und Joinsequenzdiagramm
- Dieser Abschnitt wird in der linken oberen Ecke der Seite angezeigt.
Joindiagramme zeigen die Tabellen, auf die eine Anweisung verweist, als Knoten an. Kanten zwischen den Knoten zeigen die Beziehungen zwischen den Tabellen an. Der Vergleichselementtyp, den eine Kante darstellt, wird neben der Kante angezeigt. Ein Vergleichselement kann ein lokales Vergleichselement oder ein Joinvergleichselement sein. Sie können doppelt auf einen Knoten klicken, um zu ändern, wie der Zugriffsplan auf die entsprechende Tabelle zugreift.
Joinsequenzdiagramme zeigen die Joinsequenz im Zugriffsplan für eine SQL-Anweisung an.
Jeder Knoten, der eine Tabelle darstellt, zeigt die folgenden Informationen an:
- Den Namen der Tabelle in der Anweisung, wie er vom DB2-Optimierungsprogramm neu geschrieben wurde
- Den vollständig qualifizierten Tabellennamen
- Die Kardinalität der Tabelle
- Den für die Tabelle angegebenen Zugriffstyp
- Bearbeitbares Joinsequenzdiagramm
- Dieser Abschnitt wird in der rechten oberen Ecke der Seite angezeigt.
Bearbeiten Sie die Joinsequenz, indem Sie den Typ der Joins ändern oder indem Sie Joins hinzufügen oder löschen. Sie können auch Knoten hinzufügen oder löschen, die Tabellen darstellen, auf die die SQL-Anweisung verweist.
- Richtlinie im Optimierungsprofil
- Dieser Abschnitt wird im unteren Teil der Seite angezeigt.
Im Abschnitt
Richtlinie im Optimierungsprofil können Sie die folgenden Tasks ausführen:
- Richtlinien für alle Anweisungen festlegen, die das Optimierungsprofil verwenden.
- Verwendung von MQTs aktivieren oder inaktivieren. Wenn Sie die Verwendung vom MQTs aktivieren, können Sie angeben, welche MQTs für die Verwendung berücksichtigt werden sollen.
- Berücksichtigung der Rechenpartitionsgruppenoptimierung aktivieren oder inaktivieren. Wenn Sie diese Berücksichtigung aktivieren, können Sie angeben, welche Partitionsgruppe für das DB2-Optimierungsprogramm berücksichtigt werden soll.
- Einstellungen der Bindeoption REOPT mit einem anderen Wert überschreiben.
- Einstellungen der Bindeoption DEGREE mit einem anderen Wert überschreiben.
- Einstellungen der Bindeoption QUERYOPT mit einem anderen Wert überschreiben.
- Erfassung von Echtzeit-Statistikdaten aktivieren oder inaktivieren. Wenn Sie diese Erfassung aktivieren, können Sie die Höchstdauer für das Erfassen dieser Statistikdaten durch das DB2-Optimierungsprogramm angeben. Wenn das Optimierungsprogramm davon ausgeht, dass für das Erfassen dieser Daten mehr Zeit benötigt wird, werden die Daten nicht erfasst.
- MQT-Umsetzung aktivieren.
- Richtlinien für die aktuelle SQL-Anweisung festlegen
- Einstellungen der Bindeoption REOPT mit einem anderen Wert überschreiben.
- Einstellungen der Bindeoption DEGREE mit einem anderen Wert überschreiben.
- Einstellungen der Bindeoption QUERYOPT mit einem anderen Wert überschreiben.
- Erfassung von Echtzeit-Statistikdaten aktivieren oder inaktivieren. Wenn Sie diese Erfassung aktivieren, können Sie die Höchstdauer für das Erfassen dieser Statistikdaten durch das DB2-Optimierungsprogramm angeben. Wenn das Optimierungsprogramm davon ausgeht, dass für das Erfassen dieser Daten mehr Zeit benötigt wird, werden die Daten nicht erfasst.
- MQT-Umsetzung aktivieren.
- Richtlinien festlegen, die sich auf die Umsetzungen auswirken, die während der Optimierungsphase der Abfrageneuerstellung berücksichtigt werden, wodurch die Originalanweisung in eine semantisch entsprechende, optimierte Anweisung umgesetzt wird
- Umsetzung von IN-LIST-Vergleichselement zu Join aktivieren oder inaktivieren.
- Umsetzung von NOT-EXISTS-Vergleichselement zu Anti-Join aktivieren oder inaktivieren.
- Umsetzung von NOT-IN-Vergleichselement zu Anti-Join aktivieren oder inaktivieren.
- Umsetzung von Unterabfrage zu Join aktivieren oder inaktivieren.
- Zugriff auf Tabelle anpassen
- Planoptimierungsrichtlinie festlegen.
- Auf die Tabelle im Joindiagramm doppelklicken und die Art des Zugriffs auf die Tabelle ändern.
Sie können Ihr Optimierungsprofil auf Probleme prüfen, sodass Sie diese beheben können, bevor Sie das Profil implementieren.
Schließlich können Sie das Optimierungsprofil implementieren. Bei der Implementierung wird das Optimierungsprofil als eine Zeile in die Tabelle SYSTOOLS.OPT_PROFILE eingefügt.
Mit der Bindeoption OPTPROFILE geben Sie an, dass ein Optimierungsprofil auf Paketebene verwendet werden soll, und mit dem Sonderregister CURRENT OPTIMIZATION PROFILE geben Sie an, dass ein Optimierungsprofil auf Anweisungsebene verwendet werden soll.
Dieses Sonderregister enthält den qualifizierten Namen des Optimierungsprofils, das von den Anweisungen verwendet wird, die dynamisch für die Optimierung vorbereitet werden. Für CLI-Anwendungen können Sie die Clientkonfigurationsoption CURRENTOPTIMIZATIONPROFILE verwenden, um das Sonderregister für jede Verbindung festzulegen.