Indexes
表沒有聚集索引,如果我重建索引會發生什麼?
我們有一個具有 SQL Server 2005 數據庫的供應商應用程序。在數據輸入期間,應用程序將數據寫入沒有聚集索引的表中。不過,它在表上有許多索引。
我使用維護計劃嚮導重建該表上的索引。
在性能測試期間,我們開始遇到死鎖問題。死鎖圖顯示這個沒有聚集索引的特定表是正在競爭的表。
然後,我使用維護計劃嚮導使用填充因子 80 重建索引。現在沒有死鎖。任何想法為什麼這個填充因子會有所作為?
我能想到幾種可能性。
@Chris 在我要說的第一部分中擊敗了我,所以我不會重複它。
第二種可能性(IMO 不太可能)是索引重建也更新了統計資訊,並且 SQL 伺服器現在使用不同的執行計劃來避免死鎖。
真正判斷的唯一方法是仔細檢查死鎖圖以及 QEP 之前和之後的情況。如果問題已“修復”,現在可能無法實現。
最後,我懷疑這將是一個永久性的修復。