1 索引介绍
索引是加快检索表中数据的方式。对于包含大量数据的表来说,如果没有索引,那么可能对表中数据的检索速度慢的难于忍受。
一种用于提升查询效率的数据库对象, 通过快速定位数据的方法,减少磁盘I/O操作。索引信息与表是独立分开存放的。 Oracle数据库会自动使用和维护索引。
索引是一种树状结构,可以通过该结构迅速访问表中的数据。索引的类型可以从 逻辑设计和物理实现两个方面来分类。
逻辑设计方面
从逻辑设计方面来看,也就是说主要考虑索引是如何组合的。这中情况下,可以把索引分成单列索引和复合索引、唯一性索引和非唯一性索引、基于函数的索引等类型。
索引关键字值包含了一个列的索引是单列索引。
复合索引的含义是索引关键字包含了表中的多个列,这个时候,索引关键字的顺序和表中列的顺序可以相同,也可以不同。在oracle9i的时候,复合索引所包含的列的数 量最多是32个。
索引主要是排列索引关键字的顺序,并不对这些关键字是否重复进行限制。如果不对索引列的重复值进行限制,这个时候的索引就是非唯一性索引。
如果限制索引列不能出现重复值,那么这时的索引被称为是唯一性索引。
物理实现方面
从物理实现的角度来看,索引可以分为分区索引和非分区索引、b树索引、正向索引和反向索引、位图索引等类型等。
对于数据量特别大的表来说,可以使用分区索引来存储。分区索引的含义是索引可以分散在多个表空间、降低查找数据的时间和提高可管理