当前位置: 首页 > 网络应用技术

MySQL中的MVCC如何实现,您知道吗?

时间:2023-03-08 15:36:37 网络应用技术

  我不知道您是否不了解mySQL的MVCC机制。这是MySQL基础原则中最重要的。它可以大大提高MySQL数据库的并发性能。mvcc广泛用于数据库技术,例如Oracle,PostgreSQL等。这是介绍的。在本文中,我们将带您了解MVCC机制的原理mysql。

  多次并发控制(MVCC),翻译是多次并发控制,MVCC是提高MySQL数据库性能的重要设计。

  当读取同一数据行的读取请求时,锁定数据的一致性会由lock.mvcc保证在阅读和写作冲突时可以读取数据,而不是当前的读数,并且快照读数不需要是锁定。

  在上一篇文章中,我们还在MySQL中介绍了锁定机制。如果您不熟悉,则可以阅读上一篇文章。

  MySQL中的MVCC由InnoDB存储引擎支持。InnoDB是最重要的,最特别的是交易,因此我们必须了解与交易有关的一些设计。

  InnoDB为每行都实现了三个隐藏的字段:

  更新过程

  注意:

  MVCC建立在撤消日志上。

  撤消日志中记录的数据是MVCC的多个版本。

  通过滚动指针来形成版本链。

  通过事务ID,您可以在Read-View上找到记录

  读取记录:

  版链比较规则:

  MySQL的InnoDB实现了MVCC,即在隔离级别上提交读数并可以重复。基于乐观的锁定理论,可以通过记录ID和READ-VIDEO记录看到比较和分析数据,以便大多数可以读取不需要的操作,从而提高并发性能。

  但是,在编写数据时,InnoDB仍然需要添加它以锁定。

  总而言之,它是用乐观的锁代替悲观的锁,从而提高并发性能。这是MVCC。