随着时间的流逝,B树索引可能会由于更新/删除/插入数据而变得碎片化。在SQLServer术语中,我们可以具有内部(索引页为一半为空)和外部(逻辑页顺序与物理顺序不对应)。重建索引与删除并重新创建索引非常相似。
我们可以用
ALTER INDEX index_name REBUILD;
默认情况下,重建索引是脱机操作,该操作会锁定表并阻止DML对其进行操作,但是许多RDBMS允许进行联机重建。此外,某些数据库供应商还提供索引重建的替代方法,例如REORGANIZE(SQLServer)或COALESCE/ SHRINK SPACE(Oracle)。