MVCC版本号

2019-03-02  本文已影响0人  金泽祺

MVCC版本号到底是什么?

第一种解释:系统版本号

第一个SELECT执行的时候,当前事务取到了系统版本号n,系统版本号自增为n+1。此后,其他事务的更新操作能取到的系统版本号最小为n+1,所以当前事务再次SELECT将看不见它们的更新。

但是,当前事务的更新操作怎么可以看到?它的创建/删除版本号难道不也是n+1吗?这里是特殊处理的吗?

第二种解释:事务标识符

添加三个隐藏字段:DB_TRX_ID,DB_ROLL_PTR,DB_ROW_ID

字段 说明
DB_ROW_ID 插入新记录的行ID
DB_TRX_ID 事务标识符
DB_ROLL_PTR 指向undo log
上一篇 下一篇

猜你喜欢

热点阅读