InnoDB 的 MVCC
InnoDB 通过为每个事务在启动时分配一个事务ID来实现MVCC。
该ID在事务首次读取任何数据时分配。在该事务这修改记录时,将向Undo日志写入一条说明如何恢复该更改的Undo
记录,并且事务的回滚指针指向该Undo日志记录,这就是事务如何在需要时执行回滚的方法。
当不同的会话读取聚簇索引记录时,InnoDB 会将该记录的事务ID与会话读取视图进行比较。如
果当前状态下的记录应不可见(更改它的事务尚未提交),那么Undo日志记录将被跟踪并应用,直到会话达到一个符合可
见条件的事务ID。这个过程可以一直循环到完全删除这一行的Undo记录,然后向读取视图发出这一行不存在的信号。
Disclaimer: The above articles are added by users themselves and are only for typing and communication purposes. They do not represent the views of this website, and this website does not assume any legal responsibility. This statement is hereby made! If there is any infringement of your rights, please contact us promptly to delete it.