Ich habe gerade ungefähr 20 Instanzen von SQL Server im Rahmen eines umfassenderen Akquisitionsprojekts geerbt. Ich bin gerade dabei, die Leistung zu bewerten, und ich mag die Art und Weise, wie Wartungspläne implementiert wurden, nicht.
Ich sehe tägliche Neuerstellungen des Blanket-Index (ich kann damit umgehen) und auch tägliche manuelle Aktualisierung der Statistiken.
Etwa die Hälfte der Datenbanken wurde auf Auto Update Statistics = False eingestellt, aus Gründen, die nicht klar sind, außer mir wurde gesagt, dass es darum geht, "Leistungsprobleme" zu reduzieren ...
Ich habe immer daran gedacht und daran gearbeitet, dies auf True zu setzen, und war der Meinung, dass das manuelle Update nicht erforderlich ist, wenn diese Einstellung True ist. Liege ich falsch?
Kann jemand erklären, welchen Vorteil es hätte, wenn dieses Set auf "Falsch" gesetzt wäre, stattdessen aber ein tägliches manuelles Update durchzuführen?
Ich sollte erwähnen, dass einige der Datenbanken sehr transaktionsorientiert sind (Millionen von Einfügungen, Löschungen, Aktualisierungen pro Tag). Andere sind in Bezug auf die Transaktionsraten niedrig und einige sind alles andere als schreibgeschützt. Es gibt jedoch keinen Reim oder Grund, warum die Einstellung für die automatische Aktualisierung auf Falsch gesetzt ist. Es scheint eine Lotterie zu sein.
Im Allgemeinen würde ich sagen, dass eine automatische Aktualisierung der Statistiken von Vorteil ist. Aber wie bei jeder Einstellung gibt es Gründe, warum Sie sie ein- oder ausschalten können.
Eine davon ist, dass einige Tabellen eine große Abwanderung aufweisen und Abfragen möglicherweise nicht sehr empfindlich auf genaue Statistiken reagieren. Denken Sie an ETL oder andere Massenszenarien, in denen Sie viele Daten ändern, diese aber entweder nicht von dort lesen oder nicht viel lesen. Es macht nicht viel Sinn, automatische Statistikaktualisierungen zu aktivieren und eine Reihe von E / A-Vorgängen zu veranlassen, um genauere Statistiken bereitzustellen, die niemals verwendet werden.
Möglicherweise gibt es auch Szenarien, in denen Sie Daten im Laufe des Tages mehrmals aktualisieren, die Statistiken jedoch nicht unbedingt nach jeder Aktualisierung aktualisieren möchten. (Angenommen, die Daten werden nur zu bestimmten Tageszeiten abgefragt. Sie müssen die Statistiken nicht mehrmals aktualisieren, wenn die Daten in der Zwischenzeit ohnehin nicht abgefragt werden.)
Oder vielleicht haben Sie nur eine hohe Schreiblast. Oder die Lesevorgänge sind in der Regel vollständige Scans, bei denen Statistiken nicht besonders wichtig sind.
quelle