2014-09-02 35 views
0

我现在找不到它,但是在堆栈溢出的帖子的评论中有人说当检查您看到的Total Fragmentation列时,.85是85%右键单击SSMS中的索引并点击重建。但我找不到任何其他的说法。在SQL中重建索引时解释“Total Fragmentation”列

所以我想知道,是.85 == 85%和1.25 == 125%碎片?

或者.85 == 0.85%和1.25 == 1.25%碎片?

我敢肯定,这是一个愚蠢的问题,因为大多数其他所有事情都以隐含的方式陈述后者,但我只是想仔细检查。

+0

接着说:SQL-server'标签因“SSMS”在提问题 – 2014-09-02 14:38:36

+1

如果你在SSMS中使用gui来重建索引,你需要阅读这篇文章。 https://ola.hallengren.com/sql-server-index-and-statistics-maintenance.html – 2014-09-02 14:52:55

回答

2

不知道为什么人们避免直接回答问题,而是你的答案是,0.85 EM就像它说,0.85%

0

我使用以下方法来检查碎片 - 它应该很容易使用它通过用户界面来验证结果:

SELECT OBJECT_NAME(ind.OBJECT_ID) AS TableName, 
ind.name AS IndexName, indexstats.index_type_desc AS IndexType, 
indexstats.avg_fragmentation_in_percent 
FROM sys.dm_db_index_physical_stats(DB_ID(), NULL, NULL, NULL, NULL) indexstats 
INNER JOIN sys.indexes IND 
ON ind.object_id = indexstats.object_id 
AND ind.index_id = indexstats.index_id 
WHERE indexstats.avg_fragmentation_in_percent > 5 
ORDER BY 1,2 DESC 

这工作对当前数据库。