当表有几个索引是本地索引时,我对将表移动到不同的表空间有点困惑,我想这意味着索引存储在与所有者表相同的某个表空间中,所以当我将表移动到不同的表空间时表空间然后本地索引也被移动然后我只需要重建它们而无需指定表空间。
我是说
ALTER INDEX XXX REBUILD;
代替
ALTER INDEX XXX REBUILD TABLESPACE XX;
我是对的还是我遗漏了什么?
最佳答案
将索引定义为 local
与其存储的表空间无关。 local
指的是分区索引的分区方式与它们引用的表相同,而不是 global
分区索引,它有自己的分区定义(甚至定义为非分区),无论表的分区如何。
如您所述,移动表后必须重建其索引,但这可以对任何表空间完成,无论索引的local
或global
定义如何。默认情况下,如果未给出存储子句,索引将在其已存储的表空间上重建。
关于sql - 表移动到不同的表空间后是否需要移动本地索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30161601/