加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

我对Oracle索引的认知

发布时间:2021-07-24 16:52:08 所属栏目:大数据 来源:互联网
导读:本 文只讲最最平常最最简单的索引,就是以create index ix on tx(a,b,c);形式创建的索引,而不讲位图索引、反向键索引、倒序索引、基于函数的索引等等。其实呢,

如果 查询中还有其它条件, 比如 d = :vd and e = :ve ....,但是d,e这些字段又不在索引中,那么在这些列上的过滤条件,需要回表后把这些值取出来才能判断,所以d,e这些列的selectivity是 不能乘到effective table selectivity里去的。

 

ceiling(clustering_factor * effective table selectivity)表示需要回表的次数。

 

所以上面索引访问的cost就是走某个索引,需要访问的数据块的个数。

 

当然,前面的讨论忽略了index skip scan这种情况,因为本人对index skip scan也不是很明白。

 

什么情况下会走skip scan?

 

select * from tx where a = :va and c = :vc 是不是会在c这个字段上也作一个skip scan呢?

 

同时也没有考虑in list iterate,这些情况需要进一步研究。

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读