mysql性能优化-mvcc 发表于 2020-12-20 更新于 2021-03-17 分类于 mysql MVCC实验1: 1234567set session autocommit=off; update users set lastUpdate=now() where id =1; --在未做commit/rollback操作之前 --在其他的事务能不能进行对应数据的查询(特别是加上了X锁的数据) select * from users where id > 1; select * from users where id = 1; 实验2: 123456begin select * from users where id =1 ;beginupdate users set lastUpdate=now() where id =1;select * from users where id =1; 两个实验从结果上来看是一致的,底层实现是一样的吗?跟MVCC有什么关系? MVCCmultiversion concurrency control (多版本并发控制):并发访问(读或写)数据库时,对正在事务内处理的数据做多版本的管理。达到避免写操作的堵塞,从而引发读操作的并发问题。 MVCC插入逻辑流程 : MVCC删除逻辑流程: MVCC修改逻辑流程: MVCC查询逻辑流程: