mvcc是通过两个隐藏字段来实现的 一个事务删除列 一个事务开始列。
- 【关于MVCC的一些理解2022-01-15】select语句
- 只会查找版本早于或等于当前版本的事务的数据,这样可以保证事务的读取的行,要么在事务开始前就开始,要么是事务自己操作的数据
- 读取行的删除版本号要么未定义,要么大于事务当前版本号。
- insert语句
- 将当前事务的版本记录到插入数据行的事务开始列
- delete语句
- 将当前事务版本记录到当前数据行的删除列
- uodate语句
- 将当前事务的版本记录到新插入一条数据数据行的事务开始列,同时记录到原数据的删除列