索引在重建时,查询仍然可以使用旧索引。实际上,oracle在rebuild时,在创建新索引过程中,并不会删除旧索引,直到新索引rebuild成功。 从这点可以知道rebuild比删除重建的一个好处是不会影响原有的SQL查询,但也正由于此,用rebuild方式建立索引需要相应表空间的空闲空间是删除重建方式的2倍。 结论: 1、rebuild会阻塞对基表的DML操作,但不会影响rebuild期间查询对原有索引的使用。 2、rebuild的数据源可能是基表,也可能是原索引。取决于基表和原索引的大小,哪个小,rebuild时就会用那个作为数据源。这也说明了网上盛传的rebuild以原索引作为数据库的说法是不完全正确的。 3、rebuild online运行用户在索引重建期间执行DML操作。 4、rebuild online的数据源是基表。 索引是否需要重建脚本: col owner format a15 truncate; col table_name format a30 truncate; col index_name format a30 truncate; select idx.owner owner, idx.table_name tablename, idx.index_name index_name, idx.blocks idx_blocks, tbl.blocks tbl_blocks, trunc(idx.blocks/tbl.blocks*100)/100 pct from (select i.owner owner ,i.index_name index_name, SUM(S1.blocks) blocks,i.table_owner table_owner, i.table_name table_name from dba_segments s1,dba_indexes i where s1.owner=i.owner and s1.segment_name=i.index_name and i.owner not in ('SYS', 'OUTLN', 'SYSTEM','MGMT_VIEW','SYSMAN','DBSNMP','WMSYS','XDB', 'DIP','GOLDENGATE','CTXSYS' ) GROUP BY i.owner ,i.index_name ,i.table_owner , i.table_name ) idx, (select t.owner owner ,t.table_name table_name,SUM(s2.blocks) blocks from dba_segments s2,dba_tables t where s2.owner=t.owner and s2.segment_name=t.table_name and t.owner not in ('SYS', 'OUTLN','SYSTEM','MGMT_VIEW','SYSMAN','DBSNMP','WMSYS','XDB', 'DIP','GOLDENGATE','CTXSYS' ) GROUP BY T.OWNER,T.TABLE_NAME ) tbl where idx.table_owner=tbl.owner and idx.table_name=tbl.table_name and (idx.blocks/tbl.blocks)>0.5 and idx.blocks>200 order by 4;
索引重建
来源:这里教程网
时间:2026-03-03 17:21:02
作者:
编辑推荐:
- 索引重建03-03
- Oracle的过载保护-数据库资源限制03-03
- Oracle 组件信息获取途径整理03-03
- 「Oracle」数据库字符集编码修改03-03
- oracle语句练习--初级03-03
- ORA-01190使用bbed强制online数据文件03-03
- [20211220]sqlplus简单计算器.txt03-03
- 【RMAN】在备库执行rman备份时报错RMAN-06820 ORA-1762903-03
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- Oracle的过载保护-数据库资源限制
Oracle的过载保护-数据库资源限制
26-03-03 - 「Oracle」数据库字符集编码修改
「Oracle」数据库字符集编码修改
26-03-03 - 连上无线网却不能上网?为你解答
连上无线网却不能上网?为你解答
26-03-03 - databas如何避免重复故障
databas如何避免重复故障
26-03-03 - database(Oracle MySQL)查询速度和数据量有关系吗?
database(Oracle MySQL)查询速度和数据量有关系吗?
26-03-03 - Oracle clone database
Oracle clone database
26-03-03 - 系统进程是什么?怎么通过系统进程进行病毒分析?
系统进程是什么?怎么通过系统进程进行病毒分析?
26-03-03 - Oracle意外发现PDB适合微服务和中台
Oracle意外发现PDB适合微服务和中台
26-03-03 - Oracle的特性分页
Oracle的特性分页
26-03-03 - Oracle的压测
Oracle的压测
26-03-03
