Oracle索引 详解:https://blog.csdn.net/fengshuiyue/article/details/13172129
oracle中的索引----重要:https://blog.csdn.net/bibibrave/article/details/80876967
各种Oracle索引类型介绍:https://blog.csdn.net/WuLex/article/details/79394072
oracle索引,索引的建立、修改、删除:https://blog.csdn.net/daofeng1992/article/details/80523923
通俗的来讲,索引在表中的作用,相当于书的目录对书的作用。
第一,通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。
第二,可以大大加快数据的检索速度,这也是创建索引的最主要的原因。
第三,可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。
第四,在使用分组和排序子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。
第五,通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能。
等。
CREATE TABLE person(id NUMBER(4),name VARCHAR2(8),sex CHAR(2),birthday DATE);
CREATE INDEX name_index ON person(name) TABLESPACE myspace;
name_index : 新创建的索引名
person(name):指定索引所在的表(列)
TABLESPACE myspace:指定索引所在的表空间。
CREATE INDEX name_lower_index ON person(LOWER(name)) TABLESPACE myspace;
ALTER INDEX name_index REBUILD INITRANS 5 MAXTRANS 10 TABLESPACE users;
INITRANS:指定初始事务入口数
MAXTRANS:最大事务入口数
ALTER INDEX name_index MONITORING USAGE;
MONITORING:标识索引是否处于监视状态
SELECT index_name,table_name,monitoring,used,start_monitoring,end_monitoring FROM v$object_usage;
index_name: 索引名称。 table_name: 索引所属的表的名称。 used: 描述监视过程中索引的使用情况。 start_monitoring 和 end_monitoring :分别描述监视的开始和结束时间。
DROP INDEX name_index;
ps:在删除一个表时,Oracle会删除所有与该表相关的索引。