日期:2014-05-16  浏览次数:20455 次

Oracle:位图索引与死锁-2
位图索引被存储为压缩的索引值,其中包含了一个范围内的ROWID,因此ORACLE必须针对一个给定值锁定所有范围内的ROWID,不支持行级别的锁定。
  换一种描述方法:使用位图索引时,一个键指向多行(成百上千),如果更新一个位图索引键,会同时将其他行对应位图索引字段进行锁定!


  较之B-Tree索引优点:
  位图以一种压缩格式存放,因此占用的磁盘空间比B-Tree索引要小得多

  较之B-Tree索引缺点:
  这种锁定的代价很高,会导致一些DML语句出现“锁等待”,严重影响插入、更新和删除的效率,对于高并发的系统不适用。

  位图索引使用原则:
  位图索引主要用于决策支持系统或静态数据,不支持索引行级锁定。