2020-02-23 12:40
门头沟学院 Java vicyor:1.binlog是逻辑日志,属于存储引擎层,当事务提交前,会在binlog中写入修改数据库的指令.
binlog可以用来主从复制.
2.redo log是物理日志,属于innodb引擎,会记录事务提交时,物理页的变化.恢复速度比binlog快.
3.undo log是逻辑日志,事务提交时,记录操作的反操作(insert->delete,update->update,delete->insert),可以用于回滚。
undo log 和 mvcc机制可以实现 innodb 引擎在rr下 的快照读.
快照读.
1.若rowVersion<min(readview),说明该行未被修改,直接返回.
2.若rowVersion>max(readview),说明该行被后面开启的事务修改并提交,从undolog中找到老版本.
3.若min(readview)<=rowVersion<=max(rowVersion),说明同一批的事务修改该行并提交,从undolog中找到老版本(同2).
0 点赞 评论 收藏
分享
创作者周榜
更多
关注他的用户也关注了: