DB2的隔离级别

隔离级别                         脏读  不可重复读  幻读
未提交读(Uncommitted Read)      是      是         是
游标稳定性(Cursor Stability)    否      是         否
读稳定性(Read Stability)        否      否          是
可重复读(Repeatable Read)        否     否           否

未提交读(Uncommitted Read):select不加任何锁,如果一行正在更新但未提交,内存里有两行的,一行是更新前的加了S锁,一行是更新后的加了X锁,未提交读直接读更新后的行。
                           这就是脏读,因为未提交的数据随时有可能回退,一旦回退,读取的数据肯定是无效的。
游标稳定性(Cursor Stability):如果一行正在更新但未提交,它不会等待X行的S锁,直接读取更新前的行,读完了就释放了,这时候就出现不稳定读了,等同一事务下次再读的时候发现
                                同一行读出来的数据不一样了。

读稳定性(Read Stability)   :如果一行正在更新但未提交,他会一直等待更新后行的S锁,这个时候就能保证读稳定性。但是不能避免出现幻读,幻读就是下一次再读的时候数据库
                              插入了新数据,读稳定性针对的是某一行数据
                              
可重复读(Repeatable Read)  : 可重复读是即解决了读稳定性也解决了幻读问题,直接在表上加IS锁,不能更新也不能插入。


db2 "select ..... with ur"
db2 "select ..... with cs" //默认的隔离级别,可以不写with cs
db2 "select ..... with rs"
db2 "select ..... with rr"

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值