|
|
1
4
索引必须被标记为不可用/禁用,以便在更新行时不更新,当它被重新启用/标记为可用时,它将从头开始构建,因为此时索引的内容是无用的,但是索引的架构可以重新使用。 这与您的另一个问题不同,在另一种情况下,它正在重建一个仍处于启用状态的索引。 |
|
|
2
3
在目前的情况下,你应该阅读他的陈述: Oracle B-Tree Index Internals:Rebuilding The Truth . |
|
3
0
如果您想强制重建索引,可以使用下面的内容:
但安德鲁是对的,它应该会自动更新。 我建议你读书 this article ,这是我见过的最好的索引之一。 以下是有关索引更新的文章摘录:
|
|
|
4
0
在大多数情况下,rowid是数据库空间中行地址的代理。有些dbms在索引中存储实际地址,而不是rowid,即使您只能看到一个rowid。如果DBMS将rowid存储在索引中,则在直接检索行之前,仍需要有某种机制将其转换为地址。 几乎在任何DBMS中,表的更新和索引的更新都将在同一事务的上下文中完成。这意味着索引是在表之前更新,还是表在索引之前更新,对您来说都无关紧要。
在实践中我从来不用担心这个问题,因为到了交易结束时,一切都已经完成了。 在这些情况下,我都不会称之为“索引重建”。它实际上是索引更新。 “索引重建”意味着大规模的重写。 |
|
|
feasega · 聚合物模拟-2个节点之间的最短路线,适用于所有节点 1 年前 |
|
|
Alisa Petrova · 在有向图中更改一对顶点以创建循环 1 年前 |
|
|
b39b332d · 使用C++标准库实现高效间隔存储 1 年前 |
|
ABGR · 二叉树的直径——当最长路径不通过根时的失败案例 1 年前 |
|
|
EpicAshman · 数独棋盘程序中同一列和同一行出现两次的数字 2 年前 |