informix隔离级别:committed read last committed与committed read介绍

来源:互联网 发布:工业机器人的编程语言 编辑:程序博客网 时间:2024/05/05 00:34

       本人在公司平台代码中看到informix数据库环境下数据库连接初始化时有以下两种可选方式进行隔离级别的设置,下面分别对这两种隔离级别进行介绍:

1)set isolation to committed read ;这种隔离级别能确保所有的记录都是提交到数据库的,因而能避免读取到脏数据,能确保所有读取到的记录都是已提交的,当一个进程读完记录后,其它进程就可以修改。在读取数据前,数据库服务器尝试在记录上加共享锁。加锁前,需要先检查是否可以对对象加共享锁;如果可以加锁,则要保证要加锁的记录没有其他进程正在更新;当继续正在更新时,记录上有排他锁,此时我们不能对记录加共享锁。

2)set isolation to committed readlast committed ;当在一个应用尝试去读一行数据时,如果另一个事务已经给这行数据加上了排他锁,last committed指示数据库服务器返回最近提交的行数据版本,而不是等待该行数据上的排他锁释放。可以看出,相对committed read而言,提高了并发量和系统的吞吐量。可以通过onconfig参数设置为隔离级别:uselast committed。表需要设置为行级锁,不能是页级锁。

原创粉丝点击