mysql-mvcc
2021-07-14 09:34:10 0 举报
MySQL数据库的MVCC,多版本并发控制。
作者其他创作
大纲/内容
未开始事务
已提交事务
未提交与已提交事务
max_trx_id
min_trx_id
数据表的版本链
1
weng1
90
Read View(快照度)的属性
undo 日志
trx_ids
creator_trx_id
表示活跃事务id列表
活跃事务中的最小事务id
活跃事务中的最大事务id
创建当前read view的事务版本号
weng2
100
对当前事务,判断版本链中数据可见性(当前事务id=trx_id)
weng3
1、trx_id==creator_trx_id,表示当前事务在访问自己修改的记录,可见,返回;2、trx_id<min_trx_id,表明该版本已提交,可见,返回;3、trx_id≥max_trx_id,表明该版本在生成readview时,还未开启,不可见,返回;4、min_trx_id<=trx_id<max_trx_id,判断是否在trx_ids中。 如果在,则说明生成readview时,该版本事务未提交,该版本不可见; 如果不在,则说明生成readview时,该版本事务已提交可见,返回。
版本链
weng4
200
id
name
trx_id
roll_pointer
主键
姓名
事务id
回滚指针
0 条评论
下一页