位图索引是设计用来为OLAP系统服务的不是OLTP.当一个表中的列值只有很少不同时,可以考虑选用。如性别,只有男和女。。。除去这个因素之外还需要考虑建立位图索引的这个列主要是用来查询,还是其它什么目的,要了解这一个列的用法。如果是查询,那好,放心建。如果是要更新,插入。需谨慎。因为对位图索引进行更新代价很大。为什么这么说是因为,一个位图索引条目存储了指向多行的指针。如果更新位置索引键,那么这个键对应的多行都会被锁定
会话1:
sys@CDZY> create table t (flag varchar2(1));
表已创建。
sys@CDZY> create bitmap index t_idx on t(flag);
索引已创建。
sys@CDZY> insert into t values ('y');
已创建 1 行。
会话1这时没有提交插入的行,此时会话2做如下操作会挂起
sys@CDZY> insert into t values ('y');
直到会话1提交,会话2才会插入成功。
会话1:
sys@CDZY> create table t (flag varchar2(1));
表已创建。
sys@CDZY> create bitmap index t_idx on t(flag);
索引已创建。
sys@CDZY> insert into t values ('y');
已创建 1 行。
会话1这时没有提交插入的行,此时会话2做如下操作会挂起
sys@CDZY> insert into t values ('y');
直到会话1提交,会话2才会插入成功。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/15720542/viewspace-743352/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/15720542/viewspace-743352/