Un cache de clé peut être restructuré à tout moment, en modifiant les valeurs de ses paramètres. Par exemple :
mysql> SET GLOBAL cold_cache.key_buffer_size=4*1024*1024;
Si vous assignez une nouvelle valeurs aux variables
key_buffer_size
ou
key_cache_block_size
, le serveur va
détruire l'ancienne structure du cache, et en recréer un, en
se basant sur les nouvelles valeurs. Si le cache contient des
blocs sales, le serveur va les sauver sur le disque avant de
détruire et recréer le cache. La restructuration
n'intervient pas si vous modifiez un autre paramètre du
cache.
Lors de la restructuration d'un cache de clé, le serveur commence par vider le contenu des buffers sales sur le disque. Après cela, le contenu du cache devient inaccessible. Cependant, la restructuration ne bloque pas les requêtes qui utilisent des index qui sont dans le cache. Au lieu de cela, le serveur accède directement à la table et utilise le cache du système de fichiers. Le cache du système de fichiers n'est pas aussi efficace que celui du cache de clés : si les requêtes s'exécutent toujours, elles seront un peu ralenties. Une fois que le cache a été restructuré, il redevient accessible, et les blocs peuvent être placés dedans. Le cache du système de fichiers n'est plus utilisé.
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.