database - 更新表后如何重建索引?

标签 database algorithm oracle database-design indexing

original simple table A
------------------------
rowid   id  name
123      1    A
124      4    G
125      2    R
126      3    P

index on A.id
-------------
id  rowid
1   123
2   125
3   126
4   124

updated simple table A
----------------------

rowid   id  name
123      1    A
124      5    G
125      2    R
126      7    P

假设在更新表时索引没有更新自己,那么现在索引更新将如何发生?

会从头开始重建吗?或者它会以某种方式使用旧索引吗?

最佳答案

索引必须标记为不可用/禁用以在更新行时不更新,当它重新启用/标记为可用时,它将从头开始构建,因为此时索引的内容是无用的,但索引的模式可以重复使用。

这与您的其他问题不同,在其他情况下它正在重建一个仍然启用的索引。

关于database - 更新表后如何重建索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3440899/

相关文章:

algorithm - 追逐移动目标?

基于xml属性的Oracle xmltype列索引

c++ - Oracle 7 ProC++ 预编译代码

sql - 在 Oracle SQL 上将日期与触发器进行比较

文件中的 C# 数据库

mysql - 固定可用性计划的最佳结构是什么?

algorithm - 关于二进制计数器摊销分析

sql-server - 如何跨多个表强制执行 CHECK 约束

sql-server - SQL 服务器 : multiple counts with joins

java - 如何确定移动方向