原创

Oracle 索引的分类

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://wxy0327.blog.csdn.net/article/details/53926976
看到 itpub 论坛上的一个帖子,对 Oracle 的索引分类总结得言简意赅,于是收藏过来。又补充了一点RAC用到的反向索引的东西。

逻辑上: 
Single column 单列索引
Concatenated 多列索引
Unique 唯一索引
NonUnique 非唯一索引
Function-based函数索引
Domain 域索引 

物理上: 
Partitioned 分区索引
NonPartitioned 非分区索引
B-tree:
Normal 正常型B树
Rever Key 反转型B树 
Bitmap 位图索引

索引结构:

B-tree:
适合于大量的增、删、改(OLTP);
不能用包含OR操作符的查询;
适合高基数的列(唯一值多)
典型的树状结构;
每个结点都是数据块;
大多都是物理上一层、两层或三层不定,逻辑上三层;
叶子块数据是排序的,从左向右递增;
在分支块和根块中放的是索引的范围;

Bitmap: 
适合于决策支持系统;
做UPDATE代价非常高;
非常适合OR操作符的查询; 
基数比较少的时候才能建位图索引;
树型结构:
索引头 
开始ROWID,结束ROWID(先列出索引的最大范围)
BITMAP 每一个BIT对应着一个ROWID,它的值是1还是0,如果是1,表示着BIT对应的ROWID有值;


反向 B-tree: 
适用于 OPS 或 RAC 环境;
反转了索引码中每列的字节,降低索引叶块的争用;
参考 http://www.stcore.com/oracle/2006-06-15/1150309026d27150.html
 

文章最后发布于: 2016-12-29 13:48:37
展开阅读全文
0 个人打赏
私信求帮助

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览