技术开发 频道

DB2 V9.7中新特性之关于锁的改进

【IT168 技术文章】

    在DB2 V9.7中有一个重大的更新就是关于提高锁的并发,我们都知道在DB2 V9.7之前IBM对引起锁等待的问题一直采用的是修修补补的方式,从DB2 V7到DB2 V9.5为了提高锁的并发和减少锁等待、死锁的概率,先后采用了Type-2索引(部分改进了下一键锁,当然Type-2索引主要是提高了在线重组等功能)、DB2_EVALUNCOMMITTED、DB2_SKIPINSERTED、DB2_SKIPDELETED和DB2 V9.5中引入的乐观锁。但是这些只是部分提高了并发性能(而且还要结合业务逻辑)并没有从根本上改变锁的本质。没有类似ORACLE中的回滚段实现的多版本读功能。直到DB2 V9.7的出现。DB2 V9.7的实现如下:

    通过引入一个DB CFG配置参数:cur_commit

    可以通过修改DB CFG在数据库级别激活:

    db2 update db cfg for prd using cur_commit on 启用,这是DB2 V9.7缺省的方式或

    db2 update db cfg for prd using cut_commit disabled取消。

    也可以在应用程序prep/bind级别:

    db2 prep myapp.sqc bindfile use currently commited

    db2 bind myapp.bnd use currently commited

    综上所述:DB2之所以能够实现这种功能主要是去读取DB2 数据库日志中日志内容,所以激活这个功能后会对数据库日志有少许读的I/O活动。

0
相关文章