PDF (US Ltr)
- 26.8Mb
PDF (A4)
- 26.8Mb
ログファイルを非常に大きくすると、チェックポイント設定中のディスク I/O が少なくなる可能性があります。ログファイルの合計サイズは多くの場合、バッファープールと同じか、またはそれより大きい設定が適切です。以前は、ログファイルが大きいとクラッシュリカバリに非常に長い時間がかかることがありましたが、MySQL 5.5 以降では、クラッシュリカバリのパフォーマンス向上により、クラッシュ後の起動を高速にして大きなログファイルを使用することが可能になっています。(厳密に言うと、このパフォーマンス向上は、InnoDB Plugin 1.0.7 以降を含む MySQL 5.1 で実現できます。この向上をデフォルトの InnoDB ストレージエンジンで実現できるのは MySQL 5.5 からです。)
チェックポイント処理の動作のしくみ
InnoDB
は、ファジーチェックポイント設定と呼ばれるチェックポイントメカニズムを実装しています。InnoDB
は、変更されたデータベースページをバッファープールから小さなバッチにフラッシュします。バッファープールを 1 つのバッチにフラッシュする必要はありません。それを行うと、チェックポイント設定プロセス中にユーザーの SQL ステートメントの処理が中断されます。
クラッシュリカバリ中に、InnoDB
は、ログファイルに書き込まれたチェックポイントラベルを探します。それは、そのラベルの前にあるデータベースへのすべての変更がデータベースのディスクイメージ内に存在することを知っています。次に、InnoDB
はそのチェックポイントから前方にログファイルをスキャンしながら、ログに記録された変更をデータベースに適用します。