もしMySQLにおいてROLLBACK処理が発生したら?どのくらい時間がかかるか確認する為の指標。
START TRANSACTIONまたはBEGINでを使用すると、トランザクションを COMMIT または ROLLBACK で終了するまでは、自動コミットは無効のままになるので、以下の様に明示的にトランザクション内で処理を実行して、該当プロセスをKillコマンドでCOMMIT前に停止しました。当然ながらROLLBACK処理が実行されるのですが、大量にデータを扱っている場合にどれだけ時間がかかるか不安な場合もあるかと思います。全てのケースで確認した訳ではないですが、以下の様にINFORMATION_SCHEMA.INNODB_TRXテーブル内のtrx_rows_modifiedを確認する事でおおよその目途を付ける事が可能です。
1.テスト用の処理を実行
2. …
[さらに読む]