索引:
- 一种独立于表的模式对象,可以存储在于表不同的磁盘或表空间。
- 表索引被删除和损坏,不会对表产生影响,其影响只是查询的速度。
- 索引一旦建立,Oracle管理系统会对其进行自动维护,并决定何时使用索引(可以看SQL执行计划)。用户不用再查询语句中指定使用哪个索引。
- 删除一个表示,所有基于该表的索引会自动被删除。
- 通过指针(rowid)加速Oracle服务器的查询速度
- 通过快速定位数据的方法,减少磁盘I/O
创建索引
自动创建:在定义primary key 或 unique约束后系统自动在相应的列创建唯一性索引
手动创建: 用户可以在其他列创建非唯一的索引。
# 在一个或多个列上创建索引
create index indexName on table (column,[column]...);
# 索引表中存放的是rowid地址
查询索引
可以使用数据字典视图user_indexes 和user_ind_columns查看索引信息
删除索引
删除索引需要权限。
# 只有索引的拥有者或者drop any index权限
drop index indexName