由于索引高度分散,我需要重建索引。
信息:
Miscrosoft SQL Server 2008 R2(企业版)
我有一个只有一个索引的大表(12,033,735,256行)。这是具有以下内容的非聚集索引:
该表还有另一列具有唯一标识符的列,但索引未考虑它。
该索引在过去4年中可能尚未重组或重建,每天有数百万新行。据我所知,此时表没有发生太大变化(数据或数据类型或添加/删除的列均未更改)
步骤:
我遵循此MS指南来找出重建索引所需的空间:https://docs.microsoft.com/en-us/sql/relational-databases/indexes/index-disk-space-example?view=sql-server-2017&viewFallbackFrom=sql-server-2008
计算:
非簇索引大小:12,033,735,256行*(16 + 4 + 16)字节/ 100%填充系数= 403.46 GB
据我所知,我还需要一定数量的空间才能分类到tempdb,所以最终需要403.46 GB * 2 =〜807 GB来完成重建操作。
问题:
实际索引大小为1,051 GB。我已经在表的存储信息的“索引空间”行中看到了它,它是唯一的索引。
这怎么可能?为什么它没有接近403.46 GB?我的步骤正确吗?
谢谢。