Die DB2 -Befehl RUNSTATS aktualisiert die Katalog Statistiken der Datenbank Optimierer verwendet . Der Optimierer bestimmt den Weg , dass Ihre Abfrage dauert, bis wieder Ihre Ergebnisse der schnellste . Als Tabellen wachsen wird RUNSTATS sehr zeitaufwendig , da es um die Daten und Querverweis mit den Indizes für die Tabelle zu verarbeiten hat . Abfrage-Leistung beginnt sich zu zersetzen , wenn der Katalog Statistiken nicht auf dem neuesten Stand gehalten . Wann RUNSTATS ausführen
Execute RUNSTATS nachdem Daten in eine Tabelle geladen wurde , wenn Statistiken nicht auf die Last gesammelt werden. Es ist auch eine gute Idee, RUNSTATS ausführen , nachdem ein neuer Index erstellt wird , nach Durchführung von REORG , nachdem die Vorablesezugriffsgröße geändert wurde und nach dem Ausführen der " Umverteilung Datenbankpartitionsgruppe " Dienstprogramm. RUNSTATS sollten auch nach umfangreichen Einfügungen, Aktualisierungen oder Löschungen haben auf einem Tisch durchgeführt worden ausgeführt werden.
Reduzieren Auswirkung auf die Leistung
Vermeiden Ausführung RUNSTATS für Tabellen, die nicht brauchen es . Bei der Ausführung auf einem High-Volume- Tabelle identifizieren nur Spalten in SQL Prädikate wie die verwendet werden, um Statistiken über sammeln . Planen Sie den Befehl , um Low-Volume- mal laufen ist auch wichtig. Drosselung kann auch verwendet werden , um die Menge von Ressourcen durch Datenbank-Aktivitäten verbraucht begrenzen.
Wie Drosselung
Die Datenbank-Instanz konfiguriert ist, um Gas zu verwenden , indem Sie Auslastungswirkung durch gedrosselte Dienstprogramme auf einen Wert von Null bis 100 ist. Einhundert ist die Standardeinstellung und bedeutet, daß keine Drosselung durchgeführt wird . Die Zahl steht , welcher Prozentsatz der Arbeitsbelastung sollte auf ein Utility-Kommando wie RUNSTATS zugeordnet werden. Zum Beispiel, wenn Auslastungswirkung durch gedrosselte Dienstprogramme auf 20 gesetzt ist, würde RUNSTATS verbrauchen 20 Prozent der Arbeitslast trotzdem erlauben Zugriff auf die Datenbank .
Automatische Erfassung statistischer Daten
Set AUTO_MAINT auf ON gesetzt auto_tbl_maint auf ON gesetzt und AUTO_RUNSTATS auf ON, um die automatische Erfassung von Statistiken zu ermöglichen. Diese Funktion ist neu in DB2 UDB 8.2 . Diese Funktion führt automatisch RUNSTATS im Hintergrund , wie gebraucht. Es wird empfohlen, eine Drosselung auf , wenn mit Hilfe der automatischen Erfassung von Statistiken aktiviert haben .