Oracle重建索引
创建表
create table student(
student_id number,
name varchar2(240)
) tablespace school_data;
创建索引
create index student_n1 on studen(name);
查看索引具体内容
SELECT * FROM dba_indexes dbi WHERE dbi.index_name = 'STUDENT_N1';
--查看具体的列,可以发现tablespace_name,PCTFREE等属性,说明索引也是存储与数据块中的一个具体文件
--插入数据后,段也创建了(因为延迟段)
INSERT INTO student VALUES(101,'ALEX');
COMMIT;
select * from dba_segments dbs where dbs.segment_name = 'STUDENT_N1';
索引的状态
alter index student_n1 unusable;
--再次查看
SELECT dbi.index_name,
dbi.status
FROM dba_indexes dbi
WHERE dbi.index_name = 'STUDENT_N1';
--索引的状态变为UNUSABLE了
--再次查看段,会发现段已经没有了
select * from dba_segments dbs where dbs.segment_name = 'STUDENT_N1';
select * from dba_extents dbe where dbe.segment_name = 'STUDENT_N1';
--查看区,也发现区也没有了
结论:使索引变为不可以不仅是改变状态而已。
参考资料:当索引不可用(unusable)时,Oracle 内部会把该索引元数据(即创建语句包含的基本信息)与真
是物理数据之间的对应关系断裂,相关数据块可被重用(经过实验,ORACLE 会把索引段删
除,但是 sys 用户索引除外)。索引段是否已创建(dba_indexe_segment_created)这一属性,
会变为 no(正常情况向,应为 yes)。Unusable 索引,想要被重新使用,只有一种方法:rebuild。
当然还可以 drop 再 create
重建索引
alter index student_n1 rebuild;
--重建后可以再次在数据字典中看到了
select * from dba_segments dbs where dbs.segment_name = 'STUDENT_N1';
select * from dba_extents dbe where dbe.segment_name = 'STUDENT_N1';
删除索引
drop index student_n1;
除此之外还有两种修改索引状态的语句:
alter index student_n1 disable;
alter index student_n1 enable;
然而我们执行以上语句会报错
SQL> alter index student_n1 disable;
alter index student_n1 disable
*
ERROR at line 1:
ORA-02243: invalid ALTER INDEX or ALTER MATERIALIZED VIEW option
因为该语句只能用于函数索引上
-- 创建函数索引
create index student_name_n1 on student(upper(name));
alter index student_name_n1 disable;
Oracle重建索引的更多相关文章
- Oracle 重建索引脚本
该指数是一个有力的武器,以提高数据库的查询性能. 没有索引,喜欢同样的标签库没有书籍,找书,他们想预订比登天还难.中,尤其是在批量的DML的情形下会产生对应的碎片.以及B树高度会发生对应变化.因此能够 ...
- [转]Oracle 重建索引的必要性
http://blog.csdn.net/leshami/article/details/23763963 索引重建是一个争论不休被不断热烈讨论的议题.当然Oracle官方也有自己的观点,我们很多DB ...
- oracle 重建索引以及导出所有的索引脚本(可以解决还原数据库文件时先还原数据,在重新用脚本创建索引)
导出数据库备份文件 1. 备份服务器数据,采用并行方式,加快备份速度(文件日期根据具体操作日期修改) expdp jhpt/XXXX directory=databackup dumpfile=dpf ...
- ORACLE关于索引是否需要定期重建争论的整理
ORACLE数据库中的索引到底要不要定期重建呢? 如果不需要定期重建,那么理由是什么? 如果需要定期重建,那么理由又是什么?另外,如果需要定期重建,那么满足那些条件的索引才需要重建呢?关于这个问题,网 ...
- Oracle重建表索引及手工收集统计信息
Oracle重建所有表的索引的sql: SELECT 'alter index ' || INDEX_NAME || ' rebuild online nologging;' FROM USER_IN ...
- Oracle分区索引
索引与表类似,也可以分区: 分区索引分为两类: Locally partitioned index(局部分区索引) Globally partitioned index(全局分区索引) 下面就来详细解 ...
- 11G在线重建索引
SQL> select count(*) from test_idx; COUNT(*) ---------- 19087751 SQL> select segment_name,segm ...
- Oracle数据库索引使用及索引失效总结
容易引起oracle索引失效的原因很多: 1.在索引列上使用函数.如SUBSTR,DECODE,INSTR等,对索引列进行运算.需要建立函数索引就可以解决了. 2.新建的表还没来得及生成统计信息,分析 ...
- ORACLE虚拟索引(Virtual Index)
ORACLE虚拟索引(Virtual Index) 虚拟索引概念 虚拟索引(Virtual Indexes)是一个定义在数据字典中的假索引(fake index),它没有相关的索引段.虚拟索引的目 ...
- 【转】Oracle之索引
简介 1.说明 1)索引是数据库对象之一,用于加快数据的检索,类似于书籍的目录.在数据库中索引可以减少数据库程序查询结果时需要读取的数据量,类似于在书籍中我们利用目录可以不用翻阅整本书即可找到想要的信 ...
随机推荐
- Java面向对象进阶第一天
面向对象高级第一天 static关键字 是静态的意思,可以修饰成员变量,也可以修饰成员方法 成员变量的分类 静态成员变量 有static修饰,属于类,与类一起加载,内存中只有一份,可以被共享访问. 什 ...
- Json.stringfiy json未定义
在文档的顶部添加 <!DOCTYPE html> 没有它,IE10是一个奇怪的兼容模式,许多"新"功能不可用,例如JSON.如果你任然需要使用早期版本的IE,你可以使用 ...
- 一个更适合Java初学者的轻量级开发工具:BlueJ
Java是世界上最流行的编程语言之一,它被广泛用于从Web开发到移动应用的各种应用程序.大部分Java工程师主要是用IDEA.Eclipse为主,这两个开发工具由于有强大的能力,所以复杂度上就更高一些 ...
- CF845F - Guards In The Storehouse
题意:在 \((x,y)\) 放一个哨兵,可以监视本行后面的所有格子直到障碍.本列后面所有的格子直到障碍.求使全盘最多一个位置不被监视的方案总数. 我们发现,因为 \(nm\le 250\),所以 \ ...
- input标签file文件上传图片本地预览(转载)
<input type="file" name="img-up" id="img-up" value="" /&g ...
- html音乐播放器
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- 【Redis的三种数据删除策略】定时定期惰性,超出内存就自动清理
https://blog.csdn.net/DQWERww/article/details/126453008 https://blog.csdn.net/qq_38056518/article/de ...
- 获取小程序toast控件
Toast 含义 为了给当前视图显示一个浮动的显示块,与dialog不同它永远不会获得焦点 显示时间有限,根据用户设置的显示时间后自动消失 本身是个系统级别的控件,它归属系统settings,当一个a ...
- ERR_UNSAFE_PORT浏览器安全问题无法访问的解决方案
ERR_UNSAFE_PORT浏览器安全问题导致无法访问的解决方案目录 ERR_UNSAFE_PORT浏览器安全问题导致无法访问的解决方案 一.问题现象 二.浏览器自身机制 三.解决方法 1.Goog ...
- Word13 《经费联审结算单》模板office真题
1.根据题目一的要求,打开素材文件,点击[文件]-[另存为],选择[当前文件夹],命名为Word. 2.根据题目二的要求,在[布局]里点击[页面设置]的右下角,打开页面设置窗口,选择[纸张],根据题目 ...