[SQL]資料庫選項:自動更新統計資料與自動非同步更新統計資料(AUTO_UPDATE_STATISTICS、AUTO_UPDATE_STATISTICS_ASYNC)

[SQL]資料庫選項:自動更新統計資料與自動非同步更新統計資料(AUTO_UPDATE_STATISTICS、AUTO_UPDATE_STATISTICS_ASYNC)

統計資料的資訊,在MSDN上「ALTER DATABASE SET 選項」及德瑞克老師的Blog「淺談與統計資料(Statistics) 相關的資料庫屬性:自動建立統計資料、自動更新統計資料與自動非同步更新統計資料。AUTO_CREATE_STATISTICS、AUTO_UPDATE_STATISTICS、AUTO_UPDATE_STATISTICS_ASYNC」有詳細的說明。

 

簡單來說,就是開啟了「自動更新統計資料」後,在每次查詢時,都會檢查是不是要更新到最新的統計資料,所以如果您查的資料是很大的Table,這時它發現統計資料不是最新的,就先去更新統計資料後才會執行您所下的Query。

如果怕這種情況的話,這時您可以再將「自動非同步更新統計資料」(SQL 2005以後才有)屬性設成ON,它就不會卡在您的Query之前先更新統計資料,而是以非同步的方式來更新。

如果啟用了「自動非同步更新統計資料」後,還是會影響日常的系統操作的話,就只好不要啟用「自動更新統計資料」,而在離峰時間,設定排程去「更新統計資料」。

以上設定沒有絕對,只是那個時間來更新統計資料而已,所以要依各位實際的狀況來調整哦!

image

Hi, 

亂馬客Blog已移到了 「亂馬客​ : Re:從零開始的軟體開發生活

請大家繼續支持 ^_^