oracle索引 oracle索引结构 oracle索引使用 B*Tree索引

       在进行数据查询的时候如果碰到大量数据集中的少量数据查询问题,可以通过在查询字段上新增索引提高查询速度

如果查询的结果集是大批量数据,那么就没必要使用索引了。

索引结构

举个例子:表A 列 a, b, c 新建一个基于a的索引。这时候就会产生一个  a和rowid的映射,rowid就是物理地址。

由于 索引和rowid的映射关系是用平衡树的数据结构,查询到每个叶子节点的执行速度都是一样的,这就使得在查询索引列数据时速度很快,从而提高了查询的速度。

查询过程

比如查询 a=2的数据,实际上是先查找 a 和 rowid的对应关系,然后在根据rowid查找表A中记录。


B*Tree索引

B*Tree索引是Balanced Tree Index的简称, 表示所有叶子块都处在树的同一个高度,由此,从索引上
查询任何记录所花的时间是大致相同的。
B*Tree的索引叶子块之间是双向链表,使得相邻块可以直接通过指针快速访问。 图中绿色箭头表示指
向相邻块的地址指针。


索引什么时候用

1-  表数据量大,要查询的数据集小

2- 表数据不进行频繁的dml操作,因为添加索引是势必影响数据操作的效率,所以有时在进行报表统计及临时表生成的过程中如果执行insert 或update都会先删掉索引

查询时在启用。



  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值