Cache requête
Optimiser MySQL avec le cache de requête
Principe du cache
Le cache sauvegarde le texte d'une requête SELECT avec le résultat qui a été envoyé au client. Si une requête identique est appelée par la suite, le serveur retournera le résultat à partir du cache plutôt que d'analyser puis exécuter la requête à nouveau.
Le cache de requêtes est extrêmement utile dans un environnement où les tables ne changent pas souvent et que vous avez de nombreuses requêtes identiques. C'est la situation classique des serveurs Web, qui génèrent beaucoup de pages dynamiques à partir du même contenu.
Dans certaines installations de MySQL le cache de requêtes est désactivé par défaut, vous devrez donc effectuer quelques paramétrages pour le mettre sur pied. Afin de vérifier ce point, connectez-vous à MySQL et entrez la commande suivante :
mysql> show variables like 'query%';
Bien que la variable query_cache_type soit sur ON, query_cache_size est à zéro, ce qui se traduit dans les faits par un cache de requêtes désactivé. Mettre query_cache_type sur ON et affecter à la variable query_cache_size une valeur.
Activer le cache de requêtes
Mettre query_cache_type sur ONmysql> SET SESSION query_cache_type=ON;
Fixer le cache de requêtes à 50 Mo
mysql> set global query_cache_size=50000000;
Puis refaire un mysql> show variables like 'query%'; pour voir la différence. Attention, cette action est temporaire. Pour du définitif, voir le fichier my.ini
Vous pouvez visualiser les performances du cache de requêtes avec SHOW STATUSmysql> SHOW STATUS LIKE 'Qcache%';
Plus d'infos sur le statut du cache de requêtes