Es ist wirklich eine situative Sache, die Sie pro Tabelle oder pro Index betrachten möchten, und Sie müssen wirklich herausfinden, was in der Produktion ist, bevor Sie Maßnahmen ergreifen. Verwenden Sie im Zweifelsfall die Produktion auch in anderen Umgebungen, auch wenn dies eine Reihe verrückter Einstellungen bedeutet. Man kann einfach kein gutes Gefühl dafür bekommen, wie sich die Produktion verhält, wenn die Dinge in Test oder Entwicklung anders sind.
Wie auch immer, die allgemeine Empfehlung, die Statistiken für die automatische Aktualisierung STATISTICS_NORECOMPUTE = OFF
aktiviert zu lassen ( dies ist die Standardeinstellung), gilt aus Sicherheitsgründen. Wenn diese Option deaktiviert ist und die Statistiken nicht manuell aktualisiert werden, kann dies zu wirklich schrecklichen Ausführungsplänen führen, die sich nie ändern nachdem sie zum ersten Mal erstellt wurden (und später aus anderen Gründen nicht ungültig werden).
Sie sagten, dass die Statistiken für die automatische Aktualisierung für die meisten Indizes deaktiviert sind (ich glaube, ich habe das ursprünglich wie alle falsch verstanden , nicht die meisten ). Ist diese Einstellung für die Indizes mit noch aktivierten Statistiken für die automatische Aktualisierung angesichts der Aktivität in diesen Tabellen sinnvoll? Ich würde erwarten, dass dies Tabellen mit höherer Aktivität sind. Es ist möglich, dass viel Arbeit darauf verwendet wurde, dies herauszufinden, und es kann sich lohnen, diese Einstellungen beizubehalten (oder stark zu berücksichtigen). Notieren Sie sich zumindest, um welche Statistiken es sich handelt, da diese Informationen später nützlich sein können.
Wenn ich mehr darüber nachdenke, werde ich sagen, dass die aktuelle Strategie Sinn macht. Ist es besser, als die Statistiken für die automatische Aktualisierung für alles aktiviert zu lassen? Es scheint, dass jemand dies so gedacht hat, dass es sich gelohnt hat, einen einfachen SQL Agent-Job zu haben.
Wenn die Idee bestand, neue Statistiken verfügbar zu haben, ohne Abfragen zu blockieren (wie diese ), können Sie die automatische Aktualisierung für alles wieder aktivieren und dann auch aktivieren AUTO_UPDATE_STATISTICS_ASYNC
. Ändern Sie dann wahrscheinlich den Jobplan so, dass er einmal pro Woche statt täglich ausgeführt wird, da die Statistiken weiterhin WITH FULLSCAN
regelmäßig aktualisiert werden sollen.
Ich könnte es jedoch einfach belassen, da Sie wahrscheinlich größere Fische zum Braten haben, wenn die Indizes selbst zwischen den Umgebungen unterschiedlich sind und die Neuerstellungen der Statistiken nicht zu schmerzhaft sind. Was jetzt da ist, macht Sinn; Sie müssen nur die Dinge in allen Umgebungen konsistent machen. Es ist wahrscheinlich geringfügig besser als die einfacheren Einstellungen, die ich vorgeschlagen habe, auf Kosten von mehr Arbeit. Aber finden Sie heraus, was in der Produktion ist, nutzen Sie dies und gehen Sie zu wichtigeren Dingen über. Wiederholen Sie diesen Vorgang, wenn Sie die Leistung genauer einstellen müssen. Die besten Statistiken der Welt speichern keine Abfrage, bei der ein kritischer Index fehlt.