#4 バッファ変更
4.1 基本概念
バッファ変更は、セカンダリ インデックス ページがバッファ プールにない場合に、そのページへの変更をキャッシュする特別なデータ構造です。 INSERT、UPDATE、または DELETE 操作 (DML) によって発生する可能性のあるバッファーの変更は、後で他のread 操作 によってページがバッファー プールに読み込まれるときにマージされます。
関連する無料学習の推奨事項:
上の図からわかるように、変更バッファが使用されます。 バッファ プール内のメモリは無限に増加することはできません。変更バッファのサイズは、パラメータ innodb_change_buffer_max_size を通じて動的に設定できます。データ ページを更新する必要がある場合:たとえば、50 に設定すると、変更バッファのサイズはバッファ プールの最大 50% までしか占有することができません。
変更バッファは実際には永続データです。つまり、メモリにコピーされるだけでなく、ディスクにも書き込まれます。
4.2 マージ
変更バッファ内の操作を元のデータ ページに適用して最新の結果を取得するプロセス。4.2.1 トリガーのタイミング
4.3 変更バッファを使用する場合
通常のインデックス作成のすべてのシナリオは、変更バッファーを使用することで高速化できますか?
マージはデータが実際に更新されるときであり、変更バッファーは主に記録された変更アクションをキャッシュすることに注意してください。したがって、データ ページがマージされる前に、変更バッファ レコードの変更が多いほど (つまり、データ ページを更新する必要がある回数が多いほど) メリットは大きくなります。
ビジネスでは、より多くの書き込みを行い、より少ない読み取りを実現します。書き込み直後にページにアクセスされる可能性は低いため、変更バッファーの使用が最も効果的です。一般的に使用されるのは、請求システムとログ システムです。mysql チュートリアル(ビデオ)
以上がMySQL バッファー プールの変更バッファーの導入の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。