關於更新統計和索引維護作業的問題
由於我的問題索引和統計優化腳本持續時間和日誌膨脹問題。尋找好的策略?已經關閉,因為它不夠集中我有三個問題:
對於統計和索引優化,我想使用 Ola Hallengreens 腳本。
- 如果我只更新統計資訊或重建/重組索引:如果我看到日誌文件變得太大或作業花費太長時間並減慢日常工作,那麼取消作業是否有危險?
如果沒有,我無需擔心,我可以在任何晚上或週六執行它,觀察它是如何工作的,如果出現上述一些問題,可以毫無問題地取消它。這是真的?
- 如果我使用這樣配置的 Olas 腳本(沒有離線索引重建):
- 碎片級別 1 = 50%
- 碎片級別 2 = 80%
- FragmentationMedium = ‘INDEX_REORGANIZE,INDEX_REBUILD_ONLINE’
- FragmentationHigh = ‘INDEX_REBUILD_ONLINE’
- @UpdateStatistics nvarchar(max) = ‘ALL’,
- @OnlyModifiedStatistics nvarchar(max) = ‘Y’,
當人們在數據庫上工作時,我可以在工作時間安全地使用它嗎?
- 如果我將 Ola 與這些參數一起使用,執行此類維護工作(統計更新/索引重建/索引重組)是否有任何危險,這可能會損壞數據庫?我看到的唯一一件事是增長大型日誌文件。或者我可以放心地安裝它,如果發生任何事情,只需取消它(見問題 1)?
對於問題 1 - 在工作完成後取消或停止工作不會回滾已經完成的工作,因此停止或終止執行沒有任何害處。
對於問題 2 - 請記住,線上索引重建仍然需要一些鎖,並且是否可以執行線上索引存在限制。我會在這裡尋找對這些限制的討論。即使您可以進行線上索引重建,我也可能不會在白天執行此腳本。索引維護可能是資源密集型的。
對於問題 3 - Ola 的腳本不會做任何會損壞數據庫的事情。
當我查看您的另一個問題時,我不得不懷疑索引維護常式是否導致日誌文件增長。
你說,“由於每次數據庫更新後日誌分區執行滿的問題,我收到了一個不同的腳本,我可以在其中設置每個數據庫要維護的最大索引的比例。但我認為這個腳本不如olas 腳本,可能是因為它沒有更新統計資訊或沒有重建足夠的索引?我最近插入了很多新數據,從那時起有些查詢真的很慢,這取決於數據庫。
在我看來,您的部分抱怨是在您更新和更改大量數據後執行緩慢,人們建議更新統計資訊。您可以使用 T-SQL 的單獨 Ola 作業來做到這一點,如下所示,該作業位於他的網站上。
執行 dbo.IndexOptimize @Databases = ‘USER_DATABASES’,@FragmentationLow = NULL,@FragmentationMedium = NULL,@FragmentationHigh = NULL,@UpdateStatistics = ‘ALL’