我在任何地方都无法找到关于此的权威资源,所以希望大师可以在这里给我一个答案。
我有一个非常大的表,我们必须在其中添加一列。聚集索引非常分散,我想做一个ALTER INDEX REBUILD
清理它。
当我更改列时,我通常也会这样做,ALTER TABLE REBUILD
因为这会清除该操作中的任何指针或拆分。
既然我们谈论的是聚集索引,它本质上就是表,我是否需要两者都做?
我的怀疑是ALTER INDEX REBUILD
集群不会更新所有的东西ALTER TABLE
,但我也担心ALTER TABLE
不会清理索引碎片。
如果您重建聚集索引,则不需要重建表。如果表是一个堆(没有聚集索引),那么您可能想要重建它。
Rebuild 删除并重新创建索引。创建聚集索引时,除了创建 CIX(没有 CIX 的表是堆)之外,它还会对表的行重新排序。