oracle b树索引原理,Oracle索引原理精简总结

本文简要介绍了Oracle中的B树索引、反向键索引、位图索引和基于函数的索引的存储结构和检索方式。B树索引适合大量增删改操作和高基数列,反向键索引用于减少索引块争用,位图索引适用于低基数列和数据仓库系统,而函数索引则能加速复杂查询。
摘要由CSDN通过智能技术生成

尝试用最少的字数介绍oracle的几种常用索引原理,主要是想简单分析其存储结构来说明其检索方式,和解释为什们某种索引使用与某种场合。(数据结构中最简单的ArrayList和LinkedList的使用场景)。阐述原因只有一个,就是因为其存储结构决定的。

B树索引(默认类型)

存储结构:

B+树,不多描述。和其他几种关系数据库一样,就是根据索引列(一个或多个)来构造一个B+树来存储索引。非叶子节点两个区域:存储下级子节点的值的范围,和到对应子节点地址(典型B+树的结构),主要作用是导航;叶子节点存储索引的键值和行的ROWID。另外,索引的叶子节点间构成了一个双向链表。类似mysql的myisam引擎的辅助索引,也类似mssql的非聚集索引。

ad1d9e32bd2dda61227c3b186f9bbd59.gif

检索方式:

典型的平衡树的检索,栋根节点开始导航,选择下一个中间节点,直到找到对应的叶节点。需要说明的是,如果检索的所有列都在是索引中,则不用不用检索表,被称为Fast Full Index Scan;如果检索的列不都包含在索引中,则从树上找到索引列对应的key的叶子节点,需要根据其对应的ROWID,再次访问表,根据ROWID关联到其他属性。当Index Range Scan这种检索索引列的某个范围,则不用从根节点开始导航,直接选定开始的叶节点后,直接从叶节点的双向链表就可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值