bitmap的一些block影响

lunar@TSMISC02> create table t(id number, bitmap_flag varchar2(5));

Table created.

Elapsed: 00:00:00.01
lunar@TSMISC02> create bitmap index t_idx on t(bitmap_flag);

Index created.

Elapsed: 00:00:00.01
lunar@TSMISC02> select distinct sid from v$mystat;

       SID
----------
        16

Elapsed: 00:00:00.00
lunar@TSMISC02> insert into t values(1,'Y');

1 row created.

Elapsed: 00:00:00.00
lunar@TSMISC02>

 

另开一个窗口(session 18):
lunar@TSMISC02> select distinct sid from v$mystat;

       SID
----------
        18

Elapsed: 00:00:00.00
lunar@TSMISC02> insert into t values(2,'Y');
。。。。。。
hang。。。
。。。。。。


回到session 16:
lunar@TSMISC02> select * from v$lock where block=1;

ADDR     KADDR           SID TY        ID1        ID2      LMODE    REQUEST      CTIME      BLOCK
-------- -------- ---------- -- ---------- ---------- ---------- ---------- ---------- ----------
56AF9100 56AF920C         16 TX     917516       2650          6          0        107          1

Elapsed: 00:00:00.10
lunar@TSMISC02> select * from v$lock where id1=917516;

ADDR     KADDR           SID TY        ID1        ID2      LMODE    REQUEST      CTIME      BLOCK
-------- -------- ---------- -- ---------- ---------- ---------- ---------- ---------- ----------
56AF9100 56AF920C         16 TX     917516       2650          6          0        131          1
56395E38 56395E48         18 TX     917516       2650          0          4         99          0

Elapsed: 00:00:00.01
lunar@TSMISC02>

可见,session 16 阻塞了 session 18.

在session16 提交刚才的insert操作,再观察:
lunar@TSMISC02> commit;

Commit complete.

Elapsed: 00:00:00.00
lunar@TSMISC02> select * from v$lock where block=1;

no rows selected

Elapsed: 00:00:00.01
lunar@TSMISC02> select * from t;

        ID BITMA
---------- -----
         1 Y

Elapsed: 00:00:00.00
lunar@TSMISC02>

 

再回到session 18 观察:
lunar@TSMISC02> insert into t values(2,'Y');

1 row created.

Elapsed: 00:02:43.49
lunar@TSMISC02> select * from t;

        ID BITMA
---------- -----
         1 Y
         2 Y

Elapsed: 00:00:00.00
lunar@TSMISC02>

可见阻塞已经消除了。

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值