EEE für UNIX Einstieg

Kostenorientierte Optimierung der Abfrage

DB2 Enterprise - Extended Edition (DB2 EEE) verwendet ein kostenorientiertes Optimierungsprogramm für Abfragen, das verschiedene Methoden zur Verarbeitung einer Arbeitseinheit vergleicht und die effizienteste Methode auswählt. Das Optimierungsprogramm umfaßt die folgenden Funktionen:

Transparente Parallelität
Sowohl neue als auch bereits bestehende Anwendungen, die SQL-Anweisungen verwenden, durch die Daten bearbeitet werden, müssen nicht geändert werden, wenn sie auf DB2 EEE migriert werden. Die Anwendungen müssen nur neu gebunden werden, damit das Optimierungsprogramm die besten Pläne für existierende SQL-Abfragen generieren kann.

Umfassende Verwendung von Datenpartitionsinformationen
Das Optimierungsprogramm verwendet Informationen darüber, wie Basistabellen sowie die Zwischentabellen, die Resultate von Abfragen sind, über die verschiedenen Datenbankpartitionen partitioniert sind. Diese Informationen werden verwendet, um die beste Ausführungsstrategie zu ermitteln.

Komplette, kostenorientierte SQL-Optimierung
Das Optimierungsprogramm verfügt über Informationen darüber, wie die Daten partitioniert sind. Auf der Basis dieser Informationen zieht das Optimierungsprogramm verschiedene Ausführungspläne in Betracht und wählt den Plan mit den niedrigsten Kosten aus. Beim Vergleich der verschiedenen Strategien bezieht das Programm auch die inheränte Parallelität der verschiedenen Operationen sowie die durch den Nachrichtenaustausch zwischen den einzelnen Datenbankpartitions-Servern entstehenden Kosten mit ein.

Beim Generieren von Plänen berücksichtigt das Optimierungsprogramm verschiedene Methoden der parallelen Verknüpfung, einschließlich der Verknüpfungsmethoden Collocated, Directed und Broadcast. Weitere Informationen zu Verknüpfungen finden Sie im Handbuch Systemverwaltung.

Partitionübergreifende und partitionsinterne Parallelität aller relationalen Operationen
Alle Operationen, wie beispielsweise Index- und Tabellensuchen, Aggregationen, Set-Operationen, Verknüpfungen, Einfügungen, Löschungen und Aktualisierungen können sowohl die partitionsübergreifende Parallelität als auch die partitionsinterne Parallelität verwenden.

Bei der partitionsübergreifenden Parallelität wird der Operator von jedem Datenbankpartitions-Server parallel ausgeführt. Nehmen Sie beispielsweise an, daß Sie eine SELECT-Anweisung absetzen, um Daten abzurufen, die eine bestimmte Bedingung erfüllen. Der Koordinatorknoten sendet diese Anforderung an die anderen Datenbankpartitions-Server, damit diese die entsprechenden Datensätze aus den Daten auswählen, die auf den einzelnen Datenbankpartitionen gespeichert sind. Jeder Datenbankpartitions-Server sendet die gefundenen Daten an den Koordinatorknoten zurück, der die Endverarbeitung vornimmt und eine Ergebnismenge zurückgibt.

Bei der partitionsinternen Parallelität können verschiedene Operatoren einer einzelnen Abfrage von einem einzelnen Datenbankpartitions-Server parallel ausgeführt werden. Besteht eine SQL-Abfrage beispielsweise aus einer Such-, Verknüpfungs- und Sortieroperation, würde der Datenbankpartitions-Server diese Operatoren parallel verarbeiten, soweit dies möglich ist.


[ Seitenanfang | Vorherige Seite | Nächste Seite | Inhaltsverzeichnis | Index ]