您现在的位置是:首页 > 参与项目 > DB2笔记系列 2 - 隔离级别(ISOLATION)参与项目列表
DB2笔记系列 2 - 隔离级别(ISOLATION)
Leo2016-08-22
简介
ISOLATION(RR):可重复读。程序中的页锁和行锁一直保持,直到一个工作单元结束,这期间其他程序不能修
改该表。在同一个工作单元内,如果按相同的条件作两次查询,返回的数据是完全一样的。
ISOLATION(RS):读稳定。程序中的页锁和行锁一直保持,直到一个工作单元结束,这期间对已有数据不能更
改,但是可以INSERT新的记录。在同一个工作单元里如果按相同的条件作两次查询,第一次
得到的数据第二此能原样,但是有可能查询到比第一次更多的记录。
ISOLATION(CS):游标稳定。使用CURSOR处理数据时,凡已被FETCH出来的数据允许被其他程序更改,还没有被
度过的数据不允许其他程序修改。在同一个工作单元内,如果按相同的条件做两次查询,返
回的数据可能是不一样的。一般情况下CS级别技能保证数据的有效性,有能提供最大的可并
发性。
ISOLATION(UR): 脏读。UP级别程序读取数据时不加锁,这时它可能读到“脏”数据,比如另一个程序在一个
UOW里对两个账户转账,如果正在从A账户完成扣款,但尚未在B账户存款时,UR的程序对账户
进行查询,可能会发现有一笔钱不翼而飞的错误。
Example: This statement:
SELECT MAX(BONUS), MIN(BONUS), AVG(BONUS)
INTO :MAX, :MIN, :AVG FROM DSN8710.EMP
WITH UR;