Oracle索引的索引的分类

如题所述

第1个回答  2016-06-02

在关系数据库中,每一行都由一个行唯一标识RowID。RowID包括该行所在的文件、在文件中的块数和块中的行号。索引中包含一个索引条目,每一个索引条目都有一个键值和一个RowID,其中键值可以是一列或者多列的组合。  (一)索引按存储方法分类,可以分为2类:B*树索引和位图索引。  (1)B*树索引的存储结构类似书的索引结构,有分支和叶两种类型的存储数据块,分支块相当于书的大目录,叶块相当于索引到的具体的书页。Oracle用B*树机制存储索引条目,以保证用最短路径访问键值。默认情况下大多使用B*树索引,该索引就是通常所见的唯一索引、逆序索引。  (2)位图索引存储主要用于节省空间,减少oracle对数据块的访问。它采用位图偏移方式来与表的行ID号对应,采用位图索引一般是重复值太多的表字段。位图索引之所以在实际密集型OLTP(联机事物处理)中用的比较少,是因为OLTP会对表进行大量的删除、修改、新建操作。Oracle每次进行操作都会对要操作的数据块加锁。以防止多人操作容易产生的数据库锁等待甚至死锁现象。在OLAP(联机分析处理)中应用位图有优势,因为OLAP中大部分是对数据库的查询操作,而且一般采用数据仓库技术,所以大量数据采用位图索引节省空间比较明显。当创建表的命令中包含有唯一性关键字时,不能创建位图索引,创建全局分区索引时也不能用位图索引。  (二)索引按功能和索引对象分还有以下类型。  (1)唯一索引意味着不会有两行记录相同的索引键值。唯一索引表中的记录没有RowID,不能再对其建立其他索引。在oracle10g中,要建立唯一索引,必须在表中设置主关键字,建立了唯一索引的表只按照该唯一索引结构排序。  (2)非唯一索引不对索引列的值进行唯一性限制。  (3)分区索引是指索引可以分散地存在于多个不同的表空间中,其优点是可以提高数据查询的效率。  (4)未排序索引也称为正向索引。Oracle10g数据库中的行是按升序排序的,创建索引时不必指定对其排序而使用默认的顺序。  (5)逆序索引也称反向索引。该索引同样保持列按顺序排列,但是颠倒已索引的每列的字节。  (6)基于函数的索引是指索引中的一列或者多列是一个函数或者表达式,索引根据函数或表达式计算索引列的值。可以将基于函数的索引建立创建成位图索引。  另外,按照索引所包含的列数可以把索引分为单列索引和复合索引。索引列只有一列的索引为单列索引,对多列同时索引称为复合索引。

oracle哪些索引
Oracle数据库的索引主要包括以下几种:1. B树索引(Index or Key Index):这是Oracle中最常用的索引类型。它存储了列的值的范围,用于快速访问数据。通过利用指针直接访问存储在数据表中的实际数据行。通过选择那些在搜索时产生更小I\/O操作和高访问性能的列,B树索引能提供高效的数据检索速度。2. 位图...

Oracle索引的索引的分类
(一)索引按存储方法分类,可以分为2类:B*树索引和位图索引。(1)B*树索引的存储结构类似书的索引结构,有分支和叶两种类型的存储数据块,分支块相当于书的大目录,叶块相当于索引到的具体的书页。Oracle用B*树机制存储索引条目,以保证用最短路径访问键值。默认情况下大多使用B*树索引,该索引就...

Oracle的索引类型
有两大类索引:唯一索引:对于被索引列,索引表中每一行包含一个唯一值;非唯一索引:行中的索引值可重复;从索引中读取数据的操作取决于使用的索引类型和查询中访问索引的方法。对于CTXCAT类型的索引来说,当对基表进行DML操作的时候,Oracle自动维护索引。对文档的改变马上反映到索引中。CTXCAT是事务形的...

oracle数据库索引种类,分别什么情况下使用
Oracle数据库中最常见的索引类型是b-tree索引,也就是B-树索引,以其同名的计算科学结构命名。CREATE INDEX语句时,默认就是在创建b-tree索引。没有特别规定可用于任何情况。2. 位图索引(bitmap index)位图索引特定于该列只有几个枚举值的情况,比如性别字段,标示字段比如只有0和1的情况。3. 基于函数...

oracle的索引有几种
Oracle 提供了多种不同类型的索引以供使用。简单地说, Oracle 中包括如下索引:1、 B* 树索引 这些是我所说的 “ 传统 “ 索引。到目前为止,这是 Oracle 和大多数其他数据库中最常用的索引。 B* 树的构造类似于二叉树,能根据键提供一行或一个行集的快速访问,通常只需很少的读操作就能找到...

oracle索引的分类
聚簇索引和非聚簇索引:这是按照索引与table的关系区分的,如果table中的内容按照索引的顺序存储,则该索引为聚簇索引,否则为非聚簇索引。1.1 B-树索引 B-树索引在oracle中是一个通用索引, 在创建索引时它就是默认的索引类型. B树索引可以是单列也可以是复合索引, B-树索引最多可以包括32列.树...

数据库索引有哪几种,怎样建立索引
Oracle数据库的索引类型包括B树索引、位图索引、反向键索引、函数索引、簇索引和分区索引。例如,B树索引通过保存排好序的列值和ROWID实现快速查询,位图索引则针对低基数字段,反向键索引处理数值排序问题,函数索引针对查询表达式建立索引。全局索引和局部索引则与表的分区管理密切相关,根据索引与分区表的关系...

数据库索引有哪几种,怎样建立索引
在Oracle中的索引可以分为:B树索引、位图索引、反向键索引、基于函数的索引、簇索引、全局索引、局部索引等,下面逐一讲解:一、B树索引:最常用的索引,各叶子节点中包括的数据有索引列的值和数据表中对应行的ROWID,简单的说,在B树索引中,是通过在索引中保存排过续的索引列值与相对应记录的ROWID来...

索引(index)-Oracle高级知识(3)-数据库(23)
索引的类型包括唯一性索引和非唯一索引。唯一性索引通常在定义主键或唯一键约束时自动创建,而非唯一索引则由用户创建,例如创建一个外键列索引用于查询中的连接以提高数据查询速度。创建索引的方式有两种:自动和手动。在定义PRIMARY KEY或UNIQUE约束时,会自动创建唯一索引。用户可以在列上创建非唯一索引以...

BTREE类型是什么意思?
Oracle的索引主要包含两类:BTree和位图索引。默认情况下大多使用Btree索引,该索引就是通常所见 唯一索引、聚簇索引等等,Btree用在OLTP,加快查询速度。位图索引是Oracle的比较引人注目的地方,其主要用在OLAP(联机数据分析)方面,也就是数据仓库方面用到,目的是在加快查询速度是,节省存储空间。通常情况...

相似回答
大家正在搜