网上看到很多 Mysql "内部的二阶段提交" 的好多文章,但在二阶段提交时为何总是只提到 redolog 和 binlog,很少提到 undolog ,只是轻描淡写地提到过 undolog也是事务commit之前需要写的。
那么在事务的具体执行过程中,undolog在二阶段提交过程中的哪一步呢?
还有就是事务commit之后,通常只介绍到 binlog落盘。但这只是日志落盘了啊,几乎都没有介绍数据什么时候落盘的?
网上看到很多 Mysql "内部的二阶段提交" 的好多文章,但在二阶段提交时为何总是只提到 redolog 和 binlog,很少提到 undolog ,只是轻描淡写地提到过 undolog也是事务commit之前需要写的。
那么在事务的具体执行过程中,undolog在二阶段提交过程中的哪一步呢?
还有就是事务commit之后,通常只介绍到 binlog落盘。但这只是日志落盘了啊,几乎都没有介绍数据什么时候落盘的?
4 回答1.2k 阅读✓ 已解决
8 回答1.2k 阅读
3 回答1k 阅读✓ 已解决
2 回答1.7k 阅读
2 回答1.2k 阅读
1 回答853 阅读✓ 已解决
1 回答644 阅读✓ 已解决
undolog跟redolog一样都是实时在写的,在mysql执行insert into a (id) values (1),同时就会向undolog里面写delete from a where id=1;
数据是根据checkpoint机制落盘的,触发checkpoint有几个条件,master thread每10秒将数据落盘,flush list使用率超过限制时落盘等等