MySQL Group Commit

* 组提交的核心思想就是:一次fsync()调用,可以刷新N个事务的redo log(redo的组提交) & binlog(binlog的组提交)
* 

组提交的最终目的就是为了减少IO的频繁刷盘,来提高并发性能,当然也是之后多线程复制的基础

* 

组提交中:sync_binlog=1 & innodb_trx_at_commit=1 代表的不再是1个事务,而是一组事务和一个事务组的binlog

* 

组提交中:binlog是顺序fsync的,事务也是按照顺序进行提交的,这都是有序的,MySQL5.7 并对这些有序的事务进行打好标记(last_committed,sequence_number )

最初只支持redo log 组提交,到目前5.6官方版本同时支持redo log 和binlog组提交。

组提交思想是,将多个事务redo log的刷盘动作合并,减少磁盘顺序写

上一篇:基于EMR离线数据分析


下一篇:mysql GTID