首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果索引已经不可用,“更新全局索引”是否有效?

如果索引已经不可用,“更新全局索引”是否有效?
EN

Database Administration用户
提问于 2013-03-21 10:23:42
回答 1查看 8.7K关注 0票数 1

我在Oracle 11g中有一个带有PK (全局索引)的分区表。如果我将一个分区截断为

代码语言:javascript
复制
ALTER TABLE tbl1 TRUNCATE PARTITION p1;

全局索引的状态不可用。

如果我用

代码语言:javascript
复制
ALTER TABLE tbl1 TRUNCATE PARTITION p1 UPDATE GLOBAL INDEXES;

全局索引已正确重新生成,且状态有效。

但是:看起来,如果指数已经处于无法恢复的状态,它就不会重建。对吗?

核实:

  • 创建一个具有3个范围分区和一个全局索引的表
  • 将数据插入到所有3个分区中
  • 截断分区而不更新全局索引
  • 索引处于不可用状态。
  • 通过更新全局索引截断第二个分区
  • 索引仍然不可用

根据我的理解,在第二个截断分区之后,索引应该再次可用。

EN

回答 1

Database Administration用户

回答已采纳

发布于 2013-03-21 10:42:25

无论运行什么操作,update [global] indexes选项都不会重新生成索引。它在操作期间维护索引(请参阅自动更新索引),以便它们始终可用。

在第一次截断之后,需要重新构建索引--它无法更新,它已经“损坏”,不可用。即使包含update子句,Oracle也不会为表上的下一个操作自动重新构建它。

票数 3
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/37215

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档