キーキャッシュはパラメータ値を更新することで、随時、再構築されます。例 :
mysql> SET GLOBAL cold_cache.key_buffer_size=4*1024*1024;
key_buffer_size
または
key_cache_block_size
キーキャッシュ構成部位に構成部位の現在値と異なる値を割り当てた場合、サーバーはキャッシュの旧構造を破壊し、新しい値に基づいた新構造を作成します。キャッシュに汚染されたブロックが存在する場合、サーバーはキャッシュを破壊/再作成する前にディスクにそれを保存します。ほかのキーキャッシュパラメータを変更した場合再構築は起きません。
キーキャッシュを再構築する場合、サーバーはディスクの汚染されたバッファー内容を最初にフラッシュします。その後、キャッシュ内容は無効となります。しかし、再構築はキャッシュに割り当てられたインデックス使用を必要とするクエリーをブロックしません。その代わり、サーバーはネイティブファイルシステムキャッシュを使用してテーブルインデックスに直接アクセスします。ファイルシステムキャッシュはキーキャッシュを使用した場合ほど、効率が良くありません。クエリーは実行されますが、速度の低下が予期されます。キャッシュは、再構築されたあと、割り当てられたインデックスをキャッシュするために再び使用できるようになり、インデックスのファイルシステムキャッシュは使用されなくなります。