我繼承的SQL Server 2005數據庫中的幾個鍵具有非常高的碎片百分比。如果使用下面的SQL:SQL Server 2005索引碎片
select OBJECT_NAME(object_id), avg_fragmentation_in_percent, record_count, *
from sys.dm_db_index_physical_stats (DB_ID(N'FragmentedDB'), NULL, NULL, NULL, 'Detailed') s
我看到幾個表50個99。這些表之間的分裂%,都超過10萬行,有的用2,000,000+。我相信這是造成顯著的性能問題,爲我們的應用程序,所以我試圖重建一些指標的用下面的SQL:
ALTER INDEX ALL ON [dbo].[FragmentedTable]
REBUILD WITH (FILLFACTOR = 90, ONLINE = ON)
然而,當我重建索引,並在破碎%再看看,他們都保持不變。有什麼我失蹤?我已經對這個主題進行了一些搜索,但到目前爲止已經空了。
謝謝!
我也得到了同樣的事情發生。但是,當我使用Sql Management Studio檢查碎片(使用索引屬性)時,它顯示0.24%碎片的正確值。當我使用上面的方法時,它告訴我它是100%碎片。 – Kelly 2012-06-07 16:53:19
你有沒有重組索引? – 2009-11-17 16:29:10
是的,我也跑了: ALTER INDEX ALL ON [dbo]。[FragmentedTable] REORGANIZE – Blather 2009-11-17 16:31:13