【问题标题】:Interpreting "Total Fragmentation" column when rebuilding an index in SQL在 SQL 中重建索引时解释“总碎片”列
【发布时间】:2014-09-02 14:31:31
【问题描述】:

我现在找不到它,但是在堆栈溢出帖子的 cmets 的某个地方,有人说在检查总碎片列时,0.85 是 85%,当您在 SSMS 中右键单击索引并点击重建时看到。但我找不到其他任何内容。

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

还是 0.85 == 0.85% 和 1.25 == 1.25% 的碎片化?

我确信这是一个愚蠢的问题,因为大多数其他内容都以隐含的方式说明了后者,但我只是想仔细检查一下。

【问题讨论】:

  • 由于问题中提到“SSMS”而添加了sql-server标签
  • 如果您使用 SSMS 中的 gui 来重建索引,您需要阅读这篇文章。 ola.hallengren.com/…

标签: sql sql-server indexing fragmentation rebuild


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    我使用以下内容检查碎片 - 使用它通过 UI 验证您的结果应该很容易:

    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
    

    这适用于当前数据库。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多