# 25.2.常规重新索引

在某些情况下,使用重新索引命令或一系列单独的重建步骤。

完全为空的B树索引页将被回收以供重新使用。然而,仍然存在空间使用效率低下的可能性:如果一个页面上除了几个索引键之外的所有索引键都被删除,那么该页面仍会被分配。因此,在使用模式中,每个范围内的大多数键(但不是全部键)最终都会被删除,这将导致空间使用率低下。对于这种使用模式,建议定期重新编制索引。

非B树索引膨胀的可能性尚未得到很好的研究。在使用任何非B树索引类型时,最好定期监视索引的物理大小。

此外,对于B树索引,新构造的索引比已更新多次的索引访问速度稍快,因为在新构造的索引中,逻辑上相邻的页面通常也是物理上相邻的。(这种考虑不适用于非B树索引。)为了提高访问速度,定期重新编制索引可能是值得的。

重新索引在任何情况下都可以安全方便地使用。此命令需要访问独占默认情况下锁定,因此通常最好使用同时选项,它只需要一个共享更新独占