oracle有哪些索引

oracle的索引类型有:非唯一索引、唯一索引、位图索引、局部有前缀分区索引、局部无前缀分区索引、全局有前缀分区索引、散列分区索引、基于函数的索引。索引需在表中插入数据后

oracle的索引类型有:非唯一索引、唯一索引、位图索引、局部有前缀分区索引、局部无前缀分区索引、全局有前缀分区索引、散列分区索引、基于函数的索引。索引需在表中插入数据后创建,唯一索引可用“create unique index”语句创建。

本教程操作环境:Windows7系统、Oracle 11g版、Dell G3电脑。

什么是索引?

索引说明

1)索引是数据库对象之一,用于加快数据的检索,类似于书籍的索引。在数据库中索引可以减少数据库程序查询结果时需要读取的数据量,类似于在书籍中我们利用索引可以不用翻阅整本书即可找到想要的信息。

2)索引是建立在表上的可选对象;索引的关键在于通过一组排序后的索引键来取代默认的全表扫描检索方式,从而提高检索效率

3)索引在逻辑上和物理上都与相关的表和数据无关,当创建或者删除一个索引时,不会影响基本的表;

4)索引一旦建立,在表上进行DML操作时(例如在执行插入、修改或者删除相关操作时),oracle会自动管理索引,索引删除,不会对表产生影响

5)索引对用户是透明的,无论表上是否有索引,sql语句的用法不变

6)oracle创建主键时会自动在该列上创建索引

使用索引的目的:

限制每个表索引的数量

一个表可以有几百个索引(你会这样做吗?),但是对于频繁插入和更新表,索引越多系统CPU,I/O负担就越重;

建议每张表不超过5个索引。

删除不再需要的索引

索引无效,集中表现在该使用基于函数的索引或位图索引,而使用了B*树索引;

应用中的查询不使用索引;

重建索引之前必须先删除索引,若用alter index … rebuild重建索引,则不必删除索引。

索引数据块空间使用

明确地创建索引