oracle之bitmap索引

Posted x_jingxin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle之bitmap索引相关的知识,希望对你有一定的参考价值。

oracle常见的索引是BTree索引和Bitmap索引。

BTree索引特点:

  默认索引

  适合大量增删改查

  不能用or操作符

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

创建sql:create index lie_idx1 on table(liename);

 

Bitmap索引特点:

  做update代价非常高

  非常适合or操作符

  基数少的列(即重复值多)

创建sql:create bitmap index lie_bit_idx1 on table(liename);

Bitmap索引使用配注:

  对列做位图索引(Bitmap),该列必须是不常改动的。因为oracle在查询位图索引时,会将查找的某一重复值都锁定,在一个sql未提交前,其他用户操作拥有该重复值的sql会处于阻塞状态,直至第一个sql被提交。

 

创建索引的一些规则:

1、权衡索引和DML之间的关系。执行DML语句会修改索引

2、把索引和表数据放在不同的表空间。读取表数据时可以并行读取索引【移动索引:alter index indexname rebuild tablespace】

 

索引的常用操作:

重新创建索引:alter index indexname rebuild tablespace indexname2;  数据库操作删除命令后,索引记录并不会马上清除

在线重建索引:alter index indexname rebuild online;

整合索引:alter index indexname coalesce;  用于整理索引碎片

删除索引:drop index scott.indexname;

分析索引:

  1、查询存放分析数据的表:select count(*) from index_status;

  2、执行分析索引命令:analyze index indexname validate structrue;   --分析完该索引信息会存于index_status表中。

 

以上是关于oracle之bitmap索引的主要内容,如果未能解决你的问题,请参考以下文章

位图(BitMap)索引

B-Tree vs Bitmap 数据库索引

( 转 ) 数据库BTree索引Hash索引Bitmap位图索引的优缺点

oracle知识点

Android 进阶——性能优化之Bitmap位图内存管理及优化概述

Android 进阶——性能优化之Bitmap位图内存管理及优化概述