oracle 学习笔记

来源:互联网 发布:浪迹知乎 编辑:程序博客网 时间:2024/06/06 16:50

索引:

  1. 一种独立于表的模式对象,可以存储在于表不同的磁盘或表空间。
  2. 表索引被删除和损坏,不会对表产生影响,其影响只是查询的速度。
  3. 索引一旦建立,Oracle管理系统会对其进行自动维护,并决定何时使用索引(可以看SQL执行计划)。用户不用再查询语句中指定使用哪个索引。
  4. 删除一个表示,所有基于该表的索引会自动被删除。
  5. 通过指针(rowid)加速Oracle服务器的查询速度
  6. 通过快速定位数据的方法,减少磁盘I/O

创建索引

自动创建:在定义primary key 或 unique约束后系统自动在相应的列创建唯一性索引

手动创建: 用户可以在其他列创建非唯一的索引。

# 在一个或多个列上创建索引create index indexName on table (column,[column]...);# 索引表中存放的是rowid地址

查询索引

可以使用数据字典视图user_indexes 和user_ind_columns查看索引信息

删除索引

删除索引需要权限。

# 只有索引的拥有者或者drop any index权限drop index indexName