Zur Optimierung der Abfrageleistung können Sie Statistikdaten zu den Daten erfassen, die abgefragt werden.
Entscheidungen des kostenbasierten Optimierungsprogramms sind für die Abfrageleistung von entscheidender Bedeutung. Das Optimierungsprogramm trifft seine Entscheidungen anhand statistischer Informationen zu den Daten, die abgefragt werden. Genaue und aktuelle Statistiken gewährleisten eine optimale Abfrageleistung. Erfassen Sie Statistikdaten, wenn die folgenden Bedingungen zutreffen.
Weitere Informationen zu Optimizern und zur Abfrageleistung finden Sie unter Optimierungsprofile und -richtlinien.
- Eine neue Tabelle wird erstellt und mit Daten gefüllt.
- Die Daten einer vorhandenen Tabelle werden erheblich geändert, z. B. die folgenden Bedingungen:
- Es werden neue Daten hinzugefügt.
- Alte Daten werden entfernt.
- Die vorhandenen Daten werden aktualisiert.
Die Data Virtualization sammelt Statistiken für die folgenden Elemente, damit der Optimierer über genügend Informationen verfügt, um effiziente Ausführungspläne zu erstellen:
- Jede Tabelle, auf die in einer Abfrage verwiesen wird.
- Jede Tabelle, auf die in einer Ansicht verwiesen wird. Stellen Sie beim Erstellen einer virtuellen Ansicht sicher, dass Statistikdaten für alle Tabellen erfasst werden, auf die in der Ansicht verwiesen wird. Statistikdaten werden für Ansichten nicht erfasst.
- Alle Spalten, auf die in Prädikaten (einschließlich Joinvergleichselementen) und Aggregationsfunktionen verwiesen wird, die in Abfragen referenziert werden.
Sie müssen keine Statistikdaten für Spalten erfassen, die nur in der ersten SELECT-Liste einer Abfrage angezeigt werden.
- Tabellenkardinalität (CARD)
- Die Anzahl der Zeilen in der Tabelle.
- Spaltenkardinalität (COLCARD)
- Anzahl unterschiedlicher Werte in der Spalte.
- Hoher Schlüssel (HIGH2KEY)
- Entweder der höchste oder der zweithöchste Datenwert für die Spalte, abhängig von der fernen Datenquelle der virtualisierten Tabelle und dem verwendeten Erfassungstyp.
- Niedriger Schlüssel (LOW2KEY)
- Entweder der niedrigste oder der zweitniedrigste Datenwert für die Spalte, abhängig von der fernen Datenquelle der virtualisierten Tabelle und dem verwendeten Erfassungstyp. Für viele Datenquellen sammelt die Data Virtualization den niedrigsten Schlüsselwert, der ein leerer Wert sein kann. Ein Leerzeichen gibt nicht an, dass die Statistikdaten nicht erfasst wurden.
- Anzahl Nullwerte (NUMNULLS)
- Die Anzahl der Nullwerte in der Spalte. Diese Zahl ist die einzige Statistik, die für Spalten vom Typ LOB erfasst wird.
Statistikerfassungstypen
- remote-catalog
- Dieser Typ der Statistikerfassung wird nur für virtualisierte Tabellen in fernen Datenquellen unterstützt, die eine lokale Methode der Statistikerfassung unterstützen. Statistiken, die in den Katalogtabellen der entfernten Datenquelle gespeichert sind, werden abgerufen und dann im Statistikkatalog Data Virtualization gespeichert.Es ist wichtig sicherzustellen, dass genaue Statistikdaten in der fernen Datenquelle verfügbar sind. Der remote-catalog-Typ der Statistikerfassung wird für gruppierte Tabellen nicht unterstützt.
- remote-query
- Dieser Typ der Statistikerfassung verwendet SQL-Abfragen für die virtualisierte Tabelle, um die Statistikdaten zu berechnen.Dieser Typ kann ressourcenintensiv sein und lange dauern, bis die Ausführung abgeschlossen ist, wenn die virtualisierte Tabelle viele Zeilen oder Statistikdaten für viele Spalten erfasst. Um die Leistung zu verbessern und Ressourcen zu sparen, können Sie Statistiken mit Datensampling sammeln, indem Sie die Option TABLESAMPLE in der gespeicherten Prozedur COLLECT_STATISTICS in der Data Virtualization angeben oder den Befehl " ANALYZE für Datenquellen im Cloud Object Storage verwenden.
Bewährte Verfahren
Bei entfernten Datenquellen, die lokale Statistiksammelwerkzeuge wie " IBM® Db2® und " Oracle unterstützen, besteht die beste Praxis für die Statistiksammlung in der Data Virtualization darin, sicherzustellen, dass die lokalen Statistiken in der entfernten Datenquelle genau und aktuell sind, insbesondere grundlegende Spaltenstatistiken für die Schlüsselspalten, die in Abfrageprädikaten verwendet werden. Zu diesem Zweck empfiehlt es sich, im Webclient Data Virtualization einen Statistiksammelauftrag zu erstellen.