ログファイルを非常に大きくすると、チェックポイント設定中のディスク I/O が少なくなる可能性があります。 ログファイルの合計サイズは多くの場合、バッファープールと同じか、またはそれより大きい設定が適切です。
チェックポイント処理の動作のしくみ
InnoDB
は、ファジーチェックポイント設定と呼ばれるチェックポイントメカニズムを実装しています。 InnoDB
は、変更されたデータベースページをバッファープールから小さなバッチにフラッシュします。 バッファープールを 1 つのバッチにフラッシュする必要はありません。それを行うと、チェックポイント設定プロセス中にユーザーの SQL ステートメントの処理が中断されます。
クラッシュリカバリ中に、InnoDB
は、ログファイルに書き込まれたチェックポイントラベルを探します。 それは、そのラベルの前にあるデータベースへのすべての変更がデータベースのディスクイメージ内に存在することを知っています。 次に、InnoDB
はそのチェックポイントから前方にログファイルをスキャンしながら、ログに記録された変更をデータベースに適用します。