sql - 表移动到不同的表空间后是否需要移动本地索引

标签 sql database indexing oracle11g ddl

当表有几个索引是本地索引时,我对将表移动到不同的表空间有点困惑,我想这意味着索引存储在与所有者表相同的某个表空间中,所以当我将表移动到不同的表空间时表空间然后本地索引也被移动然后我只需要重建它们而无需指定表空间。

我是说

ALTER INDEX XXX REBUILD;

代替

ALTER INDEX XXX REBUILD TABLESPACE XX;

我是对的还是我遗漏了什么?

最佳答案

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

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

关于sql - 表移动到不同的表空间后是否需要移动本地索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30161601/

相关文章:

python - 更新快速变化的目录中的文件路径列表

sql - 给定一个日期,如何获取数据库中的下一个和上一个日期

sql - VB6 将字符串映射到标题的整数

database - Oracle Text - 索引 BLOB 字段(包含 PDF 数据)

Mysql 复合索引基数在所有字段上并不相同

javascript - 在二维数组中动态创建索引

sql - Postgres 字符串数组的唯一约束/索引

SQLITE - 正确地将行转换为列

database - Hibernate 批处理操作未按预期工作

SQL选择用字符串替换整数