Configuration du cache de requêtes
<<<
Statut 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
->Statut du cache de requêtes et maintenance

5.10.4 Statut du cache de requêtes et maintenance

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)
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.

La commande RESET QUERY CACHE efface tous les résultats de requêtes du cache. FLUSH TABLES aussi.

Vous pouvez visualiser les performances du cache de requêtes avec SHOW STATUS :

mysql> SHOW STATUS LIKE 'Qcache%';
+-------------------------+--------+
| Variable_name           | Value  |
+-------------------------+--------+
| Qcache_free_blocks      | 36     |
| Qcache_free_memory      | 138488 |
| Qcache_hits             | 79570  |
| Qcache_inserts          | 27087  |
| Qcache_lowmem_prunes    | 3114   |
| Qcache_not_cached       | 22989  |
| Qcache_queries_in_cache | 415    |
| Qcache_total_blocks     | 912    |
+-------------------------+--------+
La description de chaque variable est présentée dans la section Variables de statut du serveur . Certaines utilisations sont présentées ici.Le nombre total de commandes SELECT vaut :

Com_select
+ Qcache_hits
+ requêtes avec une erreur
La valeur de Com_select est :

Qcache_inserts
+ Qcache_not_cached
+ erreurs de droits d'accès ou de colonnes
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. Des informations de paramétrage sont données dans la section Configuration du cache de requêtes .

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