table 移动到不同的 table 空间后,是否需要移动本地索引

Do I need to move local index after table moved to different tablespace

我对将 table 移动到不同的 table 空间感到有点困惑,因为它有几个索引是本地索引,我想这意味着索引存储在一些 [=21] =]space 与所有者 table 相同,所以当我将 table 移动到不同的 tablespace 时,本地索引也被移动,然后我只需要重建它们而无需指定 [=21] =]空间。

我是说

ALTER INDEX XXX REBUILD;

而不是

ALTER INDEX XXX REBUILD TABLESPACE XX;

我说得对还是漏掉了什么?

将索引定义为 local 与其存储的 table 空间无关。 local 指的是分区索引的分区方式与它们所指的 table 相同,而不是 global 分区索引,它有自己的分区定义(甚至定义为非分区) , 无论 table 的分区如何。

如您所述,移动 table 后您必须重建其索引,但这可以对任何 table 空间完成,无论索引的 localglobal 定义。默认情况下,如果未提供存储子句,索引将在其已存储的 table 空间上重建。