锁与位图索引

年前用户反映系统有点卡,这个项目是刚刚上的,问开发人员是否增加了一些表,
回答是没有。使用toad看发现系统存在一些锁,不过很快就消失了,跟踪发现,锁时候
后用户执行的是一个update语句,由于要过节,也没有仔细再探究。
回去后利用过节这段时间随手看expert的书,发现一般锁除了应用的原因,其他
主要有两个:1.主外键索引,修改主键。2.使用了位图索引。
节后检查发现要update表上开发人员在要update的表上建立了一个位图索引,修改
为一般索引后,系统恢复正常。

测试例子:

create table t (flag varchar(1)) ;
create bitmap index i_t_flagt on t(flag) ;
insert into t values ('N');

在打开一个回话:
执行
insert into t values ('Y');
发现可以正常插入,在执行如下:
insert into t values ('N');
发现死锁,第一个回话commit;第二个才解开。

时间: 2024-11-14 13:03:03

锁与位图索引的相关文章

位图索引

常规的B树索引对包含每行记录的ROWID与索引键值.位图索引不会直接存储ROWID,每个不同的键值都有一个位图,这就是为什么创建位图索引的列要有较少的distinct值的原因.位图中的每一位映射到一个可能的ROWID,位图中每一位的特定值代表是否存在有价值的记录,因此位图中存储了关于特定行和相关的ROWID.如果ROWID的值与条件匹配在rowid的位置存储"1",不匹配存储"0".Oracle会压 缩位图的存储. 创建位图索引 create bitmap inde

python-关于mysql中的位图索引和位片索引问题

问题描述 关于mysql中的位图索引和位片索引问题 老师给了一个作业要求利用其他语言例如Python或者C++来实现位图索引,但是一直教的就是mysql,没要办法建位图索引啊.不知道怎么办才好了,求大神指导... 解决方案 Mysql 索引 解决方案二: http://www.cnblogs.com/yuerdongni/p/4255395.html

位图索引:原理(BitMap index)

位图(BitMap)索引 前段时间听同事分享,偶尔讲起Oracle数据库的位图索引,顿时大感兴趣.说来惭愧,在这之前对位图索引一无所知,因此趁此机会写篇博文介绍下位图索引. 1. 案例 有张表名为table的表,由三列组成,分别是姓名.性别和婚姻状况,其中性别只有男和女两项,婚姻状况由已婚.未婚.离婚这三项,该表共有100w个记录.现在有这样的查询:     select * from table where Gender='男' and Marital="未婚"; 姓名(Name)

如何提高Oracle位图索引的使用效果

位图索引是Oralce数据库索引中的异类,其在某些比较特殊的场合中有突出的表现.一般来说,位图索引的效果直接跟列的基 数相关.为此在谈到如何提高位图索引的使用效果时,也往往跟这个列的基数相关.为此必须对这个列的基数有一个清晰的认识. 一.什么时候改采用位图索引 基数是指某个列可能拥有的不重复数值的个数.比如说在一个中华人民共和国公民的信息表中,包含着十几亿条的记录.但是在这些记录中 ,有几个比较特殊的列,其指包含几个有限的重复数值.如性别这一字段,其就只有男与女两个可能值;如在民族一列内也只有5

PostgreSQL位图索引

  什么是位图索引? 位图索引的一些特性? 位图索引的优缺点? 来看下位图扫描的例子. QUERY PLAN ------------------------------------------------------------------------------------------------------------------------- ------------------- Bitmap Heap Scan on bitmap_test (cost=2023.16..4157.7

位图索引-如何用CloudSim模拟云计算中的索引问题?

问题描述 如何用CloudSim模拟云计算中的索引问题? 例如分片位图索引,如何用CloudSim模拟出云计算的环境,然后对比这个索引是否比普通索引高效?图片是我之前看到过的分片位图索引的实验步骤,但是是在真机上部署,如果用CloudSim可以仿真模拟出来吗?

位图索引 和 大数据

问题描述 最近想探索一下[位图索引]在大数据背景下的查询问题,但是不太清楚在哪种大数据结果比较适用.前段时间在考虑把位图索引用在HBase下,但是HBase中HFile中已经有了严格的格式定义,而且在查询上有自己的优化,所以用在HBase下个人感觉不太合适.特此发帖,请教下大家将位图索引用在哪种大数据结构下会比较有用,或者可能比较 解决方案

[20150205]关于位图索引6.txt

[20150205]关于位图索引6.txt --许多人知道在oltp系统不适合使用位图索引.它的索引的记录结构如下是: 字段0:键值 字段1:开始rowid 字段2:结束rowid 字段3:位图信息,指示那行记录,位图1=>表示存在.位图0=>表示不存在. --昨天主要学习了解了字段3的相关信息,昨晚想起以前itpub的讨论,讲位图索引很容易出现阻塞,主要是如果事务发生在同一个行片, --如果不在同一个行片,就不会出现阻塞,还是通过例子来说明: 1.建立测试环境: SCOTT@test>

[20150205]关于位图索引7.txt

[20150205]关于位图索引7.txt --许多人知道在oltp系统不适合使用位图索引.它的索引的记录结构如下是: 字段0:键值 字段1:开始rowid 字段2:结束rowid 字段3:位图信息,指示那行记录,位图1=>表示存在.位图0=>表示不存在. --但是字段4的位图信息,介绍的资料太少,我自己看了链接http://juliandyke.com/Presentations/BitmapIndexInternals.ppt,做一个简单探究. --前面的blog已经讲解了字段3的位图信息