记一次看大神们讨论的结果

来源:互联网 发布:淘宝修改密码在哪里 编辑:程序博客网 时间:2024/06/10 03:14

MVCC和乐观锁的区别

  1. 问题域不同:乐观锁为了解决写-写冲突,MVCC为了减少读-写冲突。
  2. 实现原理不同:乐观锁是锁的一种实现,MVCC是copyOnWrite的一种实现(带版本号)。
  3. 解决方式不同: 锁是排队共享资源,MVCC是增加资源减少争用。

附带一个关于mysql锁的问题

这里写图片描述

* 结果是:事务二会等待直到超时。
原因:事务1 lock in share mode给符合的行加上共享锁,其他事务可以继续读或者加共享锁,但是不可写。事务2 会锁表等待事务1 结束。

原创粉丝点击