【问题标题】:Index still fragmented right after rebuilding it (SQL Server)重建后索引仍然碎片化(SQL Server)
【发布时间】:2014-12-15 14:04:08
【问题描述】:

我注意到即使我使用例如重建索引

ALTER INDEX IX_WeeklyData_SP_ID ON dbo.WeeklyData
REBUILD WITH (ONLINE = ON) ;

它仍然是零散的。我已经多次注意到这个奇怪的事情了。
我正在使用 Microsoft SQL Server 2008 R2 (SP1)。

这是为什么呢?这个动作不应该(重建索引)
立即降低索引碎片百分比
(接近0的某个值)?

我在这里注意到了这个问题(似乎相同)

Rebuild indexes but still fragmented

但它没有答案。

【问题讨论】:

  • 桌子的尺寸是多少?小表(
  • 你可能会有更好的运气在这里得到答案:dba.stackexchange.com
  • @Dave.Gugg 是的,这些表相对较小。你能指出我在 MSDN 上的一些好文章吗?

标签: sql sql-server indexing


【解决方案1】:

来自 MSDN:

一般来说,小索引上的碎片通常是不可控的。 小索引的页面存储在混合区中。混合范围 最多由八个对象共享,因此碎片在一个小 重组或重建索引后,索引可能不会减少。

此引用来自Reorganizing and Rebuilding Indexes 上的这篇 MSDN 文章。另一个很好的来源是 Understanding Pages and Extents 上的这篇 MSDN 文章。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-28
    相关资源
    最近更新 更多