Oracle, Open Source, Privateinnodbはクラッシュ時のリカバリ機能を実装しており、mysqldがクラッシュした場合やOS自体がクラッシュした場合にもしコミットされたデータがテーブルから失われていても再起動時にib_logfileからコミットされたトランザクションを読み出し、それが実データ(デフォルトだとibdata)に反映されていなければ反映させるという処理が走ります。MySQLはinnodb_flush_log_at_trx_commitの値により、1秒毎、またはコミット毎にトランザクションをログファイルにフラッシュします。 今回は以下2点について検証を行いました。 1.クライアント側から発行したクエリがクラッシュ後にどこまで復旧されているか 2.リカバリにかかる時間の測定(ログのファイルサイズとの因果関係にも言及) 1の検証についてはinnodb_fl