DB2中事务的隔离级别

DB2的事务隔离级别包括UR、CS、RS和RR。UR级别可能导致脏读,不加锁;CS防止脏读,但允许不可重复读;RS避免不可重复读,可能有幻读;RR则防止幻读,读操作后加表级S锁。脏读、不可重复读和幻读是并发事务中的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 
DB2中事务的隔离级别分为 UR(未落实的读),CS(游标稳定性),RS(读稳定性),RR(可重复读)
事务中更改隔离级别的语句 connect reset; change isolation to UR; connect to testdb
以下为各级别的特点:
1.
UR下可能出现脏读,他的隔离级别最低
该操作不对表,数据行进行锁定
2.
CS可以避免脏读,但可能出现不可重复读的现象
update操作发生后,update影响的行上会出现X锁(写锁,个人理解为不可脏读数据行的写锁)
3.
RS可以避免不可重复读的问题,但可能出现幻读的现象
select,update操作发生后,在select,update影响的行上,发生了共享锁,其它事务若想update这些行,就会发生互斥,引发锁等待
4.
RR可以避免幻读
读操作发生后,在表上加了S锁(共享锁,个人理解为,不可写表的锁),所以update等更新锁,在表级别上与它发生了互斥
 
名词解释:
所谓 脏度,指的是,读取了另一事务中未提交的数据
所谓 不可重复读,指的是,本事务中两次读取数据的结果不同
所谓 幻读,指的是,本事务,可能读到,其它事务插入的新数据
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值