Mysql的InnoDB引擎中MVCC在实际操作中有关update的问题?

 卢培伟 发布于 2022-11-04 23:02

在网上我搜到博客都说mysql中的MVCC机制,update时会转换为(insert+delete),那么假设我现在有一张表如下:

create table yang(id int primary key auto_increment,
name varchar(20));

表中有如下数据(其中创建时间和删除时间为隐藏列,假设系统版本号从1开始)
首先系统版本号为1的事务往表中插入两条数据,得到下表:


假设有事务2更新一条id=1的数据,得到是下面哪张表
我的第一种理解:

如果是这张表,那么不是该变了原数据的id吗??????
我的第二种理解:


如果是这张表,表中会出现两个id为1的行??
纠结的问题:
MVCC机制的update,执行的(insert+delete)到底把数据行插在哪里,以什么形式存在????

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有