在网上我搜到博客都说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)到底把数据行插在哪里,以什么形式存在????
人生最曼妙的风景,竟是内心的淡定与从容!