重新构建表

可以通过重新构建表来大规模回收磁盘空间,如下所示:

  1. 创建一个与要重新构建的表具有相同(或相似)定义的表。

  2. 创建新表的投影。

  3. 使用 INSERT...SELECT 将目标表中的数据复制到新表中。

  4. 删除旧表及其投影。

  5. 使用旧表的名称,通过 ALTER TABLE...RENAME 重命名新表。

投影注意事项

  • 必须有足够的磁盘空间才能同时包含旧投影和新投影。如有必要,可以先删除一些旧投影,然后再加载新表。但是,在加载新表之前,必须至少保留旧表的一个 超投影(或两个 伙伴实例超投影,以保持 K-safety)。(有关磁盘空间要求的信息,请参阅 准备磁盘存储位置)。

  • 可以为新投影指定其他名称,也可以使用 ALTER TABLE...RENAME 更改旧投影的名称。

  • 表与投影之间的关系与对象名称无关。相反,它取决于不受重命名操作影响的对象标识符。因此,如果重命名表,其投影会继续正常工作。