为什么要使用MVCC技术?
数据库在不同的隔离级别下需要解决
不可重复读 和 幻读 的问题。其实通过锁的方式就可以解决,但是锁的问题是性能太差。MVCC解决了这个问题,同时实现了高性能。MVCC在Mysql中的实现:
MVCC解决了幻读问题了吗?
答案是没有。mvcc只是解决了一部分幻读的问题,也就是幻读中的读问题(因为是快照读)。
MySQL在RR级别下是通过gap lock解决了当前读情况下的幻读问题。
事务的隔离级别只涉及到了读的问题。并没有涉及到写的问题。
閱讀更多 十萬個為神麼 的文章