Sql-Server

何時更新統計數據?

  • April 12, 2015

我繼承了執行以下操作的維護計劃:

  • 清理舊數據
  • 檢查數據庫完整性
  • 執行數據庫和事務日誌備份
  • 重組我們的索引
  • 更新統計
  • 刪除舊的備份和維護計劃文件

在 23 分鐘的維護計劃中,更新統計數據需要驚人的 13 分鐘。在這 13 分鐘期間,對數據庫的訪問被阻止(或者至少,從這個數據庫到我們其他數據庫的複制被暫停)。

我的問題是:

我們什麼時候應該更新統計數據,為什麼?

這似乎是我們應該比每天少做的事情。我試圖讓我們擺脫“僅僅因為”做不必要的維護的心態。

如果您沒有它的維護視窗,那麼每天更新統計數據可能有點矯枉過正。 特別是如果您為數據庫*打開了自動更新統計資訊。*在您原來的文章中,您說使用者看到此維護計劃導致性能下降。是否沒有其他時間來執行此維護計劃?沒有其他視窗?我看到你的計劃包括索引重組,你什麼時候重建索引?當該操作發生時,統計資訊會自動更新(前提是沒有為索引關閉)。

您應該多久更新一次統計資訊在很大程度上取決於您的索引和數據接收到的數據修改量。如果對數據的修改很少 ( INSERT, UPDATE, DELETE),那麼更新統計作業的計劃可能會更不頻繁。

找出您的統計數據是否過時的一種方法是查看執行計劃,如果您估計的行與返回的實際行有很大差異,那麼這很好地表明需要提高間隔。在您的情況下,您將走另一條路,可能需要進行一些試驗。每週更新統計數據,如果您開始看到陳舊統計數據的跡象,請從那裡開始。

如果您對數據庫使用自動更新統計資訊,請參閱此參考以了解何時更新統計資訊的門檻值。

引用自:https://dba.stackexchange.com/questions/19130