Documentation Home
MySQL 5.6 リファレンスマニュアル
Download this Manual
PDF (US Ltr) - 27.1Mb
PDF (A4) - 27.2Mb
HTML Download (TGZ) - 7.2Mb
HTML Download (Zip) - 7.2Mb


14.13.7 グループコミット

InnoDB では、ACID 準拠のほかのデータベースエンジンと同様に、トランザクションの Redo ログをそれがコミットされる前にフラッシュします。従来より、InnoDB はグループコミット機能を使用してこのような複数のフラッシュ要求を 1 つにグループ化し、コミットごとに 1 つのフラッシュを回避してきました。グループコミットでは、ほぼ同じ時間にコミットする複数のユーザートランザクションのコミットアクションを実行するために InnoDB がログファイルに 1 つの書き込みを発行するため、スループットが大幅に向上します。

InnoDB でのグループコミットは MySQL 4.x まで機能し、InnoDB Plugin を含む MySQL 5.1、および MySQL 5.5 以降でふたたび機能しています。MySQL 5.0 での分散トランザクションおよび 2 フェーズコミット (2PC) に対するサポートの導入は、InnoDB のグループコミット機能に混乱をもたらしました。現在、この問題は解決されています。

InnoDB 内部のグループコミット機能は、MySQL の 2 フェーズコミットプロトコルとともに機能します。グループコミット機能の再有効化によって、MySQL バイナリログおよび InnoDB ログファイル内のコミットの順序が以前と同じであることが完全に保証されます。これは、InnoDB 1.0.4 (つまり、MySQL 5.1 の InnoDB Plugin) 以降で MySQL Enterprise Backup 製品を使用することが完全に安全であることを示しています。

グループコミットは透過的です。この大幅なパフォーマンス向上を利用するために何もする必要はありません。

COMMIT やその他のトランザクション操作のパフォーマンスの詳細は、セクション8.5.2「InnoDB トランザクション管理の最適化」を参照してください。


User Comments
Sign Up Login You must be logged in to post a comment.