数据库

位置:IT落伍者 >> 数据库 >> 浏览文章

Oracle的索引类型


发布日期:2021年07月03日
 
Oracle的索引类型

最近在写一篇关于oracle索引的论文在这里就讨论一下索引的分类

逻辑上

Single column 单行索引

Concatenated 多行索引

Unique 唯一索引

NonUnique 非唯一索引

Functionbased函数索引

Domain 域索引

物理上

Partitioned 分区索引

NonPartitioned 非分区索引

Btree

Normal 正常型B树

Rever Key 反转型B树

Bitmap 位图索引

索引结构

Btree

适合与大量的增改(OLTP)

不能用包含OR操作符的查询

适合高基数的列(唯一值多)

典型的树状结构

每个结点都是数据块

大多都是物理上一层两层或三层不定逻辑上三层

叶子块数据是排序的从左向右递增

在分支块和根块中放的是索引的范围

Bitmap:

适合与决策支持系统

做UPDATE代价非常高

非常适合OR操作符的查询

基数比较少的时候才能建位图索引

树型结构

索引头

开始ROWID结束ROWID(先列出索引的最大范围)

BITMAP

每一个BIT对应着一个ROWID它的值是还是如果是表示着BIT对应的ROWID有值

B*tree索引的话通常在访问小数据量的情况下比较适用比如你访问不超过表中数据的%当然这只是个相对的比率适用于一般的情况bitmap的话在数据仓库中使用较多用于低基数列比如性别之类重复值很多的字段基数越小越好

上一篇:Oracle的差异增量备份和累积增量备份

下一篇:教会你掌握oracle外表