oracle 索引

来源:互联网 发布:c语言数组赋初值0 编辑:程序博客网 时间:2024/05/22 10:39
1. 什么是索引(Index)?
一种用于提升查询效率的数据对象。
通过快速定位数据的方法,减少磁盘I/O操作。
索引信息与表独立存在。
oracle 数据库自动使用和维护索引。
索引分为:唯一索引,非唯一索引。
在定义主键或唯一约束时会自动创建唯一性索引。


2. 索引优点与缺点
优点:大大加快数据检索速度。
缺点:索引需要占用物理空间。对数据进行增、删、改时索引也要动态的维护。


3. 索引分类
唯一索引 :在定义主键或唯一键约束时,会自动创建唯一索引。
非唯一索引:用户可以在其他列上创建非唯一索引。


3. 索引使用原则
1. 查询结果是所有数据行的5%以下时,使用index查询效果最好。
2. 索引利于select,但对于经常insert,delte,update的表,会降低效率。
3. where 条件中经常使用到表的多列时,使用复合索引效果会好于几个单列索引。
4. where 中的字段必须是复合索引的第一个字段,否则无法使用该索引。
5. where 中的字段不能参与任何形式的计算,否则无法使用索引。
6. 以下操作会阻止使用索引:is null;is not null;not in;!=;like “%_”;


4. 创建索引
create index abc on emp(eid,enam);


5. 删除索引
dorp index abc;


6. 索引的存储
索引和表是独立存在的,在为索引指定表空间的时候,不用将被索引的表和索引指向同一个表空间,这样可以避免产生IO冲突。


7. 索引类型
B树索引
位图索引

原创粉丝点击