《MySQL必懂系列》MySQL隔离级别的实现原理--MVCC+undo.log

468 阅读1分钟

众所周知,innoDB支持事务的不同隔离级别,在可重复读的隔离级别下,在开启一个事务的时候,会获得这一瞬间数据库全库的一致性视图read view(下面会专门再解释这个视图),然后就不再掺和其它的事务产生的影响。 本文会讨论分析以下问题:

  1. 可重复读隔离级别下如何不会覆盖其它事务update之后的数据?
  2. 开始提到的一致性视图read view和最基础的视图是一个概念吗?read-view的本质是什么?
  3. mvcc能够做哪些事情?mvcc是如何设计的?
  4. undo log是用来做什么的?它和mvcc又有什么关系?

相信读完本篇之后你能有一个清晰的答案。