【MVCC过程中会加锁吗?】
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)!