Sql-Server

是否有理由手動更新統計資訊?

  • May 6, 2019

在 SQL Server 中,統計資訊在進入時會自動更新Auto Update StatisticsTrue這是預設設置)。是否有理由手動更新統計資訊?在什麼情況下?

當然,如果您的數據變化比自動統計的速率更頻繁(或者說,您經常更新 < 20% 的行,例如更新狀態或日期/時間戳)。或者,如果您的表很大並且它的變化不足以觸發自動統計更新。或者,如果您已過濾索引(因為自動統計門檻值仍然基於整個表的更改百分比,而不是過濾索引中行子集的更改百分比)。

還有幾個(表面的)原因:

自動更新統計資訊將阻止觸發更新的查詢,直到新的統計資訊準備好。

…除非您還非同步啟用自動更新統計資訊。然後觸發更新的查詢不會等待新的統計資訊,但可能會使用舊的、不正確的統計資訊執行。

當具有一些相對較大的表(44M 行,8.5 GB)的數據庫開始更新統計資訊時,我還遇到了一些奇怪的阻塞問題。不過,在我真正了解發生了什麼之前,我們就停用了該應用程序。

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