Indexes

表沒有聚集索引,如果我重建索引會發生什麼?

  • December 4, 2009

我們有一個具有 SQL Server 2005 數據庫的供應商應用程序。在數據輸入期間,應用程序將數據寫入沒有聚集索引的表中。不過,它在表上有許多索引。

我使用維護計劃嚮導重建該表上的索引。

在性能測試期間,我們開始遇到死鎖問題。死鎖圖顯示這個沒有聚集索引的特定表是正在競爭的表。

然後,我使用維護計劃嚮導使用填充因子 80 重建索引。現在沒有死鎖。任何想法為什麼這個填充因子會有所作為?

我能想到幾種可能性。

@Chris 在我要說的第一部分中擊敗了我,所以我不會重複它。

第二種可能性(IMO 不太可能)是索引重建也更新了統計資訊,並且 SQL 伺服器現在使用不同的執行計劃來避免死鎖。

真正判斷的唯一方法是仔細檢查死鎖圖以及 QEP 之前和之後的情況。如果問題已“修復”,現在可能無法實現。

最後,我懷疑這將是一個永久性的修復。

引用自:https://serverfault.com/questions/91189