我继承的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