Oracle索引概括介绍

Oracle索引如同书的目录,加快数据检索速度。包括B树索引(默认,适用于高基数),位图索引(适合OLAP,低基数)。创建索引语法涉及UNIQUE/BITMAP/NORMAL,可通过ALTER INDEX REBUILD调整,DROP INDEX删除。
摘要由CSDN通过智能技术生成


1.1     索引的定义

索引类似与书的目录结构,可以根据目录中的页码快速找到需要的内容。

索引是一个单独的、物理的数据库结构,它是某个表中一列或者几列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。使用索引可以快速访问数据库表中的特定信息。

Oracle自动维护索引,插入、删除、更新表中数据时,自动更新索引。

1.2     索引的分类

1.2.1 唯一索引

当建立PrimaryKey(主键)或者Unique constraint(唯一约束)时,唯一索引将被自动建立。顾名思义,建立唯一索引的字段上不能存在两个或两个以上的相同的值。

1.2.2 B树索引(默认类型)

B树索引在Oracle中是一个通用索引。在创建索引时它就是默认的索引类型。B树索引可以是一个列的(简单)索引,也可以是组合/复合(多个列)的索引。B树索引最多可以包括32列。

B树索引的存储示意图如下:

树叶块包含了索引值、ROWID,以及指向前一个和后一个树叶块的指针。Oracle可以从两个方向遍历这个二叉树。B树索引保存了在索引列上有值的每个数据行的ROWID值。Oracle不会对索引列上包含NULL值的行进行索引。如果索引是多个列的组合索引,而其中列上包含NULL值,这一行就会处于包含NULL值的索引列中,且将被处理为空(视为NULL)

索引列的值都存储在索引中。因此,可以建立一个组合(复合)索引,这些索引可以直接满足查询,而不用访问表。这就不用从表中检索数据,从而减少了I/O量。

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值