数据库两段封锁协议能解决脏读么?
数据库中的两段封锁协议的规则是先加锁,后解锁,所以可以保证冲突可串行化,来保证并发的一致性。
但是两段封锁协议并不满足一级协议(即在事务commit时释放锁)。如果:事务1
修改数据A和B, 事务2
修改数据B. 事务1
先获取A和B的锁,修改A的值,然后释放A的锁。在事务2
获取A的锁的同时,如果事务1
修改B失败,要进行roll back, 会发生什么?事务2
是否对A数据脏读?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论