Oracle的索引类型
本文内容遵从CC版权协议, 可以随意转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明网址: http://www.penglixun.com/database/oracle_index_type.html
荣耀属于:Tomas Zhang
逻辑上:
- 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有值;