Home  >  Article  >  Database  >  Oracle其他数据对象 -- 索引

Oracle其他数据对象 -- 索引

WBOY
WBOYOriginal
2016-06-07 17:12:30866browse

一 介绍 1.索引: (1) 一种独立于表的模式对象, 可以存储在与表不同的磁盘或表空间中 (2) 索引被删除或损坏, 不会对表产

一 介绍

1.索引:

(1)   一种独立于表的模式对象, 可以存储在与表不同的磁盘或表空间中

(2)   索引被删除或损坏, 不会对表产生影响, 其影响的只是查询的速度

(3)索引一旦建立, Oracle 管理系统会对其进行自动维护, 而且由 Oracle 管理系统决定何时使用索引. 用户不用在查询语句中指定使用哪个索引

(3)   在删除一个表时, 所有基于该表的索引会自动被删除

(5)   通过指针加速 Oracle 服务器的查询速度

(6)通过快速定位数据的方法,减少磁盘 I/O

2.创建索引:

自动创建: 在定义 PRIMARY KEY 或 UNIQUE 约束后系统自动在相应的列上创建唯一性索引

手动创建: 用户可以在其它列上创建非唯一的索引,以加速查询

3. 什么时候创建索引

(1)   列中数据值分布范围很广

(2)   列经常在 WHERE 子句或连接条件中出现

(3)表经常被访问而且数据量很大 ,访问的数据大概占数据总量的2%到4%

4. 什么时候不要创建索引

(1)   表很小

(2)   列不经常作为连接条件或出现在WHERE子句中

(3)   查询的数据大于2%到4%

(4)表经常更新

二  实战

1.创建索引

SQL> create index empJob on emp(job);

索引已创建。

2.删除索引

SQL> drop index empJob;

索引已删除。

3.查询索引

可以使用数据字典视图 USER_INDEXES 和 USER_IND_COLUMNS 查看索引的信息

更多Oracle相关信息见Oracle 专题页面 ?tid=12

linux

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn