为了账号安全,请及时绑定邮箱和手机立即绑定

u锁的隔离级别是那种?读已经提交?可重复读?

u锁的概念是在隔离级别为读已提交的基础上延伸的
当升级行为会产生死锁时 我们就干掉升级这种操作
在加锁的时候直接加写锁
这样隔离级别是不是就降回了可重复读

假设三个事务全部对数据a进行操作
事务1全是读
事务2也全是读
事务3是先读后写

经过u锁判定 12加读锁 3应该加写锁
就是 12在并行 3等待前两完成才能进入

所以 u锁的隔离级别是可重复读的那个级别
我怎么总感觉我理解的有错误 谁帮我看看啊!

正在回答

2 回答

读已提交

0 回复 有任何疑惑可以回复我~
#1

千月 提问者

谢谢 我其实过了几天后 自己想明白了
2017-01-10 回复 有任何疑惑可以回复我~
#2

哀幻暝 回复 千月 提问者

我还没明白,读已提交的话,读和写是可以并行的啊!为什么要等前面的读完了再加写锁?
2017-07-08 回复 有任何疑惑可以回复我~
#3

慕斯5588998

按照我的理解:不考虑MVCC,假设没有U锁,按照讲解的理解,根据示例sql,其在数据库内部是先读锁、再写锁。这样为了保证数据是正确的,需要在可重复读的级别,这样数据更新不会错误,但是同时读的时候会出现死锁。如果在提交读的级别,同时读不会出现死锁,但是已经算是脏读了,无法保证数据更新是正确的了。使用U锁,update语句,表面上我们就可以简单认为是一个写锁了,重复读级别不会出现死锁,在提交读级别也能保证更新的正确性
2019-03-31 回复 有任何疑惑可以回复我~

u锁,其实是在读写锁的基础上,应该是在可重复读和提交读的级别上的

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
在线分布式数据库原理与实践
  • 参与学习       42363    人
  • 解答问题       53    个

一起学习事务与分布式事务原理与实践干货,欢迎收藏

进入课程

u锁的隔离级别是那种?读已经提交?可重复读?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信