Sur quelle information optimiser la valeur de ce paramètre ?
Ce paramètre est réservé aux tables "MyIsam".
KEY_BUFFER = taille réservée au buffer des index. Sa taille doit être assez importante, l'idéal est que tous les index résident en mémoire limitant ainsi les IO.
Vous pouvez calculer cette taille en évaluant la taille des index de votre base de données.
L'utilisation de MySQL-Admin vous permet de suivre "en direct" l'évolution de l'utilisation de ce cache. Voir dans la section "Health", onglet "Memory Health" de MySQL-Admin.
La partie "Key efficiency" vous permet de voir la partie du buffer effectivement utilisée ainsi que le "hitrate".
Le "hitrate" est le pourcentage de clés effectivement lues depuis le buffer.
Attention :
Ne pas tenir compte des valeurs présentes peu après un redémarrage, il faut attendre plusieurs heures que le fonctionnement de la base se stabilise et que l'utilisation corresponde à l'utilisation moyenne normale des applications liées à cette base.
Un buffer trop petit --> hitrate bas et :
Un key-buffer trop grand --> mémoire gachée.
Il n'est pas la peine de mobiliser 200 Mégaoctets de mémoire si seulement 50 sont utilisés, la mémoire économisée ici peut avec profit être utilisée ailleurs.
Tous les commentaires sont les bienvenus.