1. 程式人生 > >SQL Server 資料庫統計資訊更新對效能優化的切身體會

SQL Server 資料庫統計資訊更新對效能優化的切身體會

          年底前在開發一個SQL Server BI專案的過程中,我們測試SSIS包的時候,發現有好幾天晚上取數的時間都超出了以前的

取數時間,剛開始我們以為是換了伺服器,伺服器硬體的效能有差異導致,後來我們仔細觀察了伺服器硬體資源的使用情況,發

現伺服器的硬體資源不大可能是導致執行時間變長的原因。後來我們繼續調查網路狀況,監控速度變慢的這幾天網路的監控情況,

通過對比也沒有發現最近幾天網路有異常而導致取數時間的變慢。

          我們只是變更了資料來源,將以前取數的資料庫更換成了一個較新的資料庫,由於資料庫最近做了些結構上優化和調整,我們

重新取了一個數據庫備份還原後做測試。於是我們開始考慮是否由於資料庫的統計資訊變化導致資料庫查詢的效能下降,因而導致

我們的SSIS取數時間增加了呢?下午我們首先將資料庫的統計資訊進行了全面的更新,更新資料庫的統計資訊整整花了2個小時。更

新完成後,我們就開始執行作業跑資料,第二天早上我們來看執行資料時,發現還真是統計資訊沒有更新造成我們的取數過程變慢

的了。在我們更新統計資訊的前,取數要8個小時還跑不完,但是當我們更新完統計資訊後,跑資料只需要4個小時多點就可以了。

          後來我們進一步調查了統計資訊沒有能夠及時更新的原因,因為我們對資料庫的統計資訊設定的是自動更新,意味著統計資訊

每隔一段時間會根據資料庫的實際情況重新整理一次,我們取資料庫的備份時,可能剛好資料庫還沒有來得及重新整理統計資訊,因為我們

資料庫伺服器白天比較繁忙,一般晚上才會去重新整理統計資訊。

           真相大白,困擾了我們一個星期的難題也得以破解。