In SQL Server werden Statistiken automatisch aktualisiert , wenn Auto Update Statistics
in True
(das ist die Standardeinstellung). Gibt es einen Grund, die Statistiken manuell zu aktualisieren und unter welchen Umständen?
19
In SQL Server werden Statistiken automatisch aktualisiert , wenn Auto Update Statistics
in True
(das ist die Standardeinstellung). Gibt es einen Grund, die Statistiken manuell zu aktualisieren und unter welchen Umständen?
Sicher, wenn sich Ihre Daten häufiger ändern als die Rate der automatischen Statistiken (oder Sie beispielsweise <20% der Zeilen häufig aktualisieren, z. B. Status- oder Datums- / Zeitstempel). Oder wenn Ihre Tabelle sehr groß ist und sich nicht genug ändert, um automatische Statistikaktualisierungen auszulösen. Oder wenn Sie Indizes gefiltert haben ( da der Schwellenwert für die automatische Statistik immer noch auf dem Prozentsatz der Änderung in der gesamten Tabelle basiert, nicht auf dem Prozentsatz der Änderung der Teilmenge der Zeilen im gefilterten Index ).
Noch ein paar (oberflächliche) Gründe:
Auto-Update-Statistiken blockieren die Abfrage, die das Update ausgelöst hat, bis die neuen Statistiken fertig sind.
... es sei denn, Sie aktivieren die automatische Aktualisierung von Statistiken asynchron. Dann wartet die Abfrage, die das Update ausgelöst hat, nicht auf die neuen Statistiken, sondern wird möglicherweise mit den alten, falschen Statistiken ausgeführt.
Ich hatte auch einige seltsame Blockierungsprobleme, als eine Datenbank mit relativ großen Tabellen (44 MB Zeilen, 8,5 GB) anfing, Statistiken zu aktualisieren. Wir haben diese Anwendung stillgelegt, bevor ich wirklich nachvollziehen konnte, was los war.
quelle
Ja, denken Sie daran, dass automatische Statistiken immer mit einer Standardabtastrate generiert werden. Diese Standardabtastrate erzeugt möglicherweise keine genauen Statistiken, die Ihre Daten darstellen.
http://sqlblog.com/blogs/elisabeth_redei/archive/2009/03/01/lies-damned-lies-and-statistics-part-i.aspx
quelle