バージョン5.6で"innodb_flush_log_at_trx_commit=1"の挙動が変わった的な話があったので、こっちで軽く調べ、さらに追加調査したので結果を書く。 目的と結論 目的 簡単に書くと、5.6でバイナリログのグループコミットが入ってREDOログとバイナリログの書込みに依存関係っぽいものがでてきたこと、およびfsyncの回数を減らした的なアナウンスや解説がポツポツあるので、具体的にどうなっているのか調べるのが目的。 結論 結論を先に書くと: innodb_flush_log_at_trx_commit=1での基本的な挙動は変わらない。 COMMIT毎にREDOログのwrite+fsync、バイナリログのwrite+fsyncがある。 変わったのは バイナリログの書込みがグループコミットになった REDOログとバイナリログの処理の後にtrx_commit_complate