浅析Oracle数据库索引分类汇总

数据库 Oracle
本文着重介绍Oracle索引,因为好的索引能帮助Oracle数据库更好的检索我们想要的信息。希望读者能从中学到知识。

在向大家详细介绍Oracle建表之前,首先让大家了解下Oracle索引,因为好的索引能帮助Oracle数据库更好的检索我们想要的信息。

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

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

Oracle索引结构:
B-tree:
适合与大量的增、删、改(OLTP);
不能用包含OR操作符的查询;
适合高基数的列(唯一值多)
典型的树状结构;
每个结点都是数据块;
大多都是物理上一层、两层或三层不定,逻辑上三层;
叶子块数据是排序的,从左向右递增;
在分支块和根块中放的是索引的范围;
Bitmap:
适合与决策支持系统;
做UPDATE代价非常高;
非常适合OR操作符的查询;
基数比较少的时候才能建位图索引;
树型结构:
索引头
开始ROWID,结束ROWID(先列出索引的最大范围)
BITMAP
每一个BIT对应着一个ROWID,它的值是1还是0,如果是1,表示着BIT对应的ROWID有值;

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

【编辑推荐】

  1. 修改Oracle存储过程所需代码
  2. 对Oracle存储过程的总结
  3. 实现Oracle存储过程的实际应用的代码 
  4. 深入高性能的Oracle动态SQL开发 
  5. Oracle SQL的优化规则解析 
责任编辑:佚名 来源: 博客园
相关推荐

2011-03-16 08:54:45

Oracle数据库索引

2009-03-16 13:30:55

脚本数据字典Oracle

2010-04-26 10:52:46

Oracle 数据库

2010-04-09 15:35:28

Oracle数据库

2009-03-30 14:52:43

复制数据库Oracle

2010-04-09 14:37:08

Oracle数据库

2023-11-16 17:12:33

数据库oracle

2009-04-22 14:19:32

Oracle中文索引基础

2010-03-24 09:42:12

Oracle数据库

2011-06-28 13:26:23

Oracle数据库ODBC

2011-04-13 09:19:05

Oracle数据库系统性能

2010-05-10 18:54:12

Oracle数据库索引

2011-04-11 16:50:13

Oracle数据库索引

2010-04-07 17:45:22

Oracle位图索引

2010-03-30 17:40:59

Oracle数据库

2010-04-26 14:24:58

Oracle数据库索引

2010-02-02 09:02:01

Oracle数据库机Oracle Exad

2011-07-27 13:22:35

检查索引碎片Oracle数据库重建索引

2010-10-08 09:38:55

Android数据库事

2010-04-09 13:59:48

Oracle数据库索引
点赞
收藏

51CTO技术栈公众号