SQL Server 中非聚集索引比聚集索引大

问题描述 投票:0回答:1

我对我遇到的问题有疑问。

我的表有 2 个索引 - 一个聚集索引和一个非聚集索引。

  • 聚集索引键列的类型为
    INT
  • 非聚类位于
    varchar(80)

向表中插入行后,当我检查索引统计信息时,我发现非聚集索引的大小大于聚集索引。

当我重建索引时,它会变小。

然后当我添加更多行时,它会再次变大。这是为什么?

注意是新表,0次删除,是碎片吗?是因为索引键类型的原因吗?

我将填充因子设置为 0 以减少碎片

sql-server indexing database-administration
1个回答
0
投票

看到非聚集索引的大小比聚集索引大。 ... 当我重建索引时,它会变小。

可能是由页面分割驱动的碎片,因为非聚集索引在索引键排序中的许多不同插入点处进行插入。

这些将导致叶级页面分裂,导致许多或所有叶页面仅占满 50% 多一点。

© www.soinside.com 2019 - 2024. All rights reserved.