自学内容网 自学内容网

【MVCC过程中会加锁吗?】


在MVCC(Multi-Version Concurrency Control,多版本并发控制)过程中, 通常不需要加锁来控制并发访问

MVCC是一种数据并发控制技术,它允许在不同的事务中对同一数据进行并发访问,而不需要使用锁。这种机制通过保存数据的多个版本来支持并发读写操作,从而提高数据库的并发性能。

一、MVCC的工作原理

  • 版本链:在InnoDB引擎中,每一行数据都有两个隐藏字段:trx_ID(事务ID)和roll_pointer(回滚指针)。trx_ID记录最后一次修改该行的事务ID,roll_pointer指向该行的上一个版本,这些版本信息存储在undo日志中。通过roll_pointer,可以追溯到行的旧版本,形成版本链。

  • Read View:Read View是一个事务开始时数据库快照的一致性状态,它用于确定事务在执行期间能够看到哪些数据版本。这样,读操作不会阻塞写操作,写操作也不会阻塞读操作。


原文地址:https://blog.csdn.net/weixin_46990523/article/details/145165077

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!