为什么要重建索引
来源:互联网 发布:js报错缺少对象 编辑:程序博客网 时间:2024/06/07 01:00
浅谈oracle中重建索引
ITPUB个人空间3N c sL.M$V
当我们创建索引时,oracle会为索引创建索引树,表和索引树通过rowid(伪列)来定位数据。当表里的数据发生更新时,oracle会自动维护索引树。但是在索引树中没有更新操作,只有删除和插入操作。
例如在某表id列上创建索引,某表id列上有值“101”,当我将“101”更新为“110”时,oracle同时会来更新索引树,但是oracle先将索引树中的“101”标示为删除(实际并未删除,只是标示一下),然后再将“110”写到索引树中。
如果表更新比较频繁,那么在索引中删除标示会越来越多,这时索引的查询效率必然降低,所以我们应该定期重建索引。来消除索引中这些删除标记。
一般不会选择先删除索引,然后再重新创建索引,而是rebuild索引。在rebuild期间,用户还可以使用原来的索引,并且rebuild新的索引时也会利用原来的索引信息,这样重建索引会块一些。
*_Kc6Uow8v:}#y0这个实验来察看索引中的删除标记,并且如何重建索引。
试验环境:oracle 8.1.7
一、创建表、插入记录和创建索引
*K C3L]:N`%O0SQL>create table ind (id number,name varchar2(100));
表已创建。
SQL> create or replace proceduresp_insert_ind
Daj@5j0
9q9O^;|G/E$Tc0
- 为什么要重建索引
- 为何要重建索引 index
- oracle中为什么重建分区索引(索引分区)? 重建分区索引和索引分区什么区别?
- 重建索引
- 索引重建
- 重建索引
- 索引重建
- 重建索引
- 重建索引
- 重建索引
- 重建索引
- 索引重建
- 重建索引
- 重建索引
- 为什么要创建索引
- 为什么我的ArcSDE数据重建索引和分析(Analye)后反而效率更慢
- 为什么商业搜索引擎选择的索引更新策略是完全重建策略
- 合并索引和重建索引
- 如何生成执行计划 未完
- 数据结构 第三章 栈与队列
- SQL行转列题目
- 关于EBS DBA(转载)
- hadoop fs -count 命令
- 为什么要重建索引
- 使用RMAN连接到目标数据库
- 关于SUNOS
- iOS
- Oracle 11g 中告警日志的位置
- SQL:同表前后记录计算
- Automatic Memory Management(AMM)…
- PHP设计模式系列:目录
- 导入导出统计信息一例