一、索引
1、索引的作用
- 快速存取数据
- 既可以改善数据库性能,又可以保证列值的唯一性
- 实现表与表之间的参照完整性
- 在使用ORDER BY,GROUP BY子句进行数据检索时,利用索引可以减少排序和分组的时间
2、索引的分类
- 索引按照存储方法分类,可以分为两类:
(1)B树索引的存储结构类似图书的索引结构:有分支和叶两种类型的存储数据块,分支相当于图书的大目录,叶子相当于索引到的具体书页。Oracle用B树(B*-tree)机制存储索引条目,以保证用最短路径访问键值。默认情况下大多使用B*数索引,该索引就是通常所说的唯一索引、逆序索引等。
(2)位图索引主要用来节省空间,减少Oracle对数据块的访问。它采用位图偏移方式来与表的行ID号对应。采用位图索引一般是在重复值太多的表字段情况下。 - 索引按照功能和索引对象可分为以下六种类型:
(1)唯一索引:唯一索引意味着对象不会有两行记录相同的索引键值。
(2)非唯一索引:不对索引列的值进行唯一性限制的列的称为非唯一索引。
(3)分区索引:所谓分区索引是指索引可以分散地存在于多个不同的表空间中,其优点是可以提高数据查询的效率。
(4)未排序索引:未排序索引也称为正向索引。