innodb_flush_log_at_trx_commitの挙動

挙動についてはこれがわかりやすい。←ただしログバッファへの書き込みタイミングは、ログファイルへの書き込みタイミングの誤り。
図についてはこれがわかりやすい。

設定値        ログバッファ→ログファイル  ディスクフラッシュ
========================================================================
0             毎秒                        毎秒
1 (初期値)  COMMIT時                    COMMIT時
2             COMMIT時                    毎秒

備考
0~mysqldのプロセスがクラッシュすると、最後の秒のトランザクションが消される場合があります。
1~OS、あるいはハードウェアの問題によってフラッシュが行われない場合、トランザクションの耐久力が保障されない可能性があります。
2~OSのクラッシュや停電が起こると、最後の秒のトランザクションが消されてしまいます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です