2016-10-20 3 views
0

データベースシステムには通常、バッファプールが付属しています。要求を受け取ったとき、DBMSは通常、関連するデータをバッファプールに配置しようとします。そうでなければ、関連するデータをバッファプールにロードしようとします。要求がテーブルに変更を加えようとすると、DBMSはバッファプール内の対応するページを変更します。私は、バッファプールが変更された後、または変更がファイルシステムに保存された直後に、mysqlがクライアントに成功を返すのかどうか疑問に思っていますか? バッファプールが変更された直後にDBMSがクライアントに成功を返す場合、DBMSは、ダーティページをハードドライブに書き込むときにどのような障害が発生したかをどのように処理しますか?mysqlはファイルシステムに変更を要求してからクライアントに戻ります。

+0

あなたはInnoDBについて質問しているようですが、それが真実であれば明確にし、[redo log](https://dev.mysql.com/doc/refman/5.7/)を読んでみてください。 en/innodb-redo-log.html)。 –

答えて

1

これはお客様のflushサーバー設定によって異なりますが、通常、変更内容がディスクに書き込まれたことをOSから確認するように設定されています。 MySQLはディスクバッファに書き込むことはしません。

この動作を変更することができます。また、InnoDBのように、エンジンごとに同じような性質のフラグがあります。

関連する問題