Configuration du cache de requêtes
<<<
Status du cache de requêtes et maintenance Administration du serveur
>>>

5.10 Cache de requêtes MySQL
5 Administration du serveur
 Manuel de Référence MySQL 4.1 : Version Française

Comment fonctionne le cache de requêtes
Options relatives au cache de requêtes dans un SELECT
Configuration du cache de requêtes
->Status du cache de requêtes et maintenance

5.10.4 Status du cache de requêtes et maintenance

Avec la commande FLUSH QUERY CACHE vous pouvez défragmenter le cache de requêtes pour mieux en utiliser la mémoire. Cette commande n'effacera aucune requête du cache. FLUSH TABLES défragmente aussi le cache de requêtes.

La commande RESET QUERY CACHE efface tous les résultats de requêtes du cache. Vous pouvez vérifier que vous avez le cache de requête sur MySQL avec la commande suivante :

mysql> SHOW VARIABLES LIKE 'have_query_cache';
+------------------+-------+
| Variable_name    | Value |
+------------------+-------+
| have_query_cache | YES   |
+------------------+-------+
1 row in set (0.00 sec)
Vous pouvez visualiser les performances du cache de requêtes avec SHOW STATUS :
Variable Description
Qcache_queries_in_cache Nombre de requêtes mises en cache.
Qcache_inserts Nombre de requêtes ajoutées au cache.
Qcache_hits Nombre d'appel au cache.
Qcache_lowmem_prunes Nombre de requêtes ôtées du cache pour cause de mémoire insuffisante.
Qcache_not_cached Nombre de requêtes qui n'ont pas été mises en cache. (not cachable, or due to QUERY_CACHE_TYPE ).
Qcache_free_memory Quantité de mémoire libre pour le cache de requêtes.
Qcache_total_blocks Nombre total de blocs dans le cache de requêtes.
Qcache_free_blocks Nombre de blocs à mémoire libre dans le cache de requêtes.

Nombre total de requêtes = Qcache_inserts + Qcache_hits + Qcache_not_cached .

Le cache de requêtes utilise des blocs de longueur variable, ce qui fait que Qcache_total_blocks et Qcache_free_blocks peuvent indiquer une fragmentation de la mémoire du cache. Après un appel à FLUSH QUERY CACHE un seul (grand) bloc libre subsiste.

Note : Chaque requête a besoin au minimum de deux blocs (un pour le texte de la requête et un autre, ou plus, pour le résultat). De même, chaque table utilisée par une requête a besoin d'un bloc, mais si deux ou plusieurs requêtes utilisent la même table, seul un bloc a besoin d'être alloué.

Vous pouvez aussi utiliser la variable Qcache_lowmem_prunes pour ajuster la taille du cache de requêtes. Elle compte le nombre de requêtes qui ont été supprimées du cache pour libérer de la place pour les nouvelles requêtes. Le cache de requêtes utilise une stratégie du type la plus anciennement utilisée ( least recently used ou LRU ) pour décider de quelle requête doit être retirée.

<< Status du cache de requêtes et maintenance >>
Configuration du cache de requêtes Cache de requêtes MySQL Administration du serveur