La variable système serveur have_query_cache
        indique si le cache est actif :
      
mysql> SHOW VARIABLES LIKE 'have_query_cache';
+------------------+-------+
| Variable_name    | Value |
+------------------+-------+
| have_query_cache | YES   |
+------------------+-------+
        Le cache de requête ajoute plusieurs variables système MySQL
        liées à mysqld qui peuvent être
        spécifiées dans un fichier de configuration, en ligne de
        commande lors du démarrage de mysqld. Les
        variables systèmes liées au cache sont toutes préfixées avec
        query_cache_. Elles sont décrites
        brièvement dans la section
        Section 5.2.3, « Variables serveur système », avec des informations
        complémentaires.
      
        Pour configurer la taille du cache de requêtes, modifiez la
        variable système query_cache_size. En lui
        donnant la valeur de 0, vous le désactivez. La taille par
        défaut du cache est de 0 : le cache est désactivé par
        défaut.
      
        Si le cache de requête est actif, la variable
        query_cache_type modifie son comportement.
        Cette variable peut prendre les valeurs suivantes :
      
            La valeur de 0 ou OFF
            empêche la mise en cache ou la lecture de résultats en
            cache.
          
            La valeur de 1 ou ON
            permet le cache, sauf pour les commandes qui commencent par
            SELECT SQL_NO_CACHE.
          
            La valeur de 2 ou
            DEMAND impose la mise en cache de toutes
            les requêtes, même celles qui commencent par
            SELECT SQL_CACHE.
          
        Modifier la valeur GLOBAL de
        query_cache_type détermine le comportement
        du cache pour tous les clients qui se connecteront après la
        modification. Les clients individuels peuvent modifier le
        comportement du cache pour leur connexion avec l'option
        SESSION de
        query_cache_type. Par exemple, un client peut
        désactiver le cache de requête pour ses propres requêtes
        avec :
      
mysql> SET SESSION query_cache_type = OFF;
        Pour contrôler la taille maximale des résultats de requêtes
        qui peuvent être mis en cache, il faut modifier la valeur de la
        variable query_cache_limit. La valeur par
        défaut de 1Mo.
      
        Le résultat d'une requête (les données envoyées au client)
        sont stockées dans le cache durant la lecture. Par conséquent,
        les données ne sont pas manipulées en un seul gros morceau. Le
        cache de requête alloue des blocs à la demande, pour stocker
        les données, et dès qu'un bloc est rempli, un autre est
        alloué. Comme l'allocation de mémoire est une opération
        coûteuse (en temps), le cache de requêtes crée des blocs avec
        une taille minimale de
        query_cache_min_res_unit, jusqu'à la taille
        des données à mettre en cache. Suivant le type de requêtes
        exécutées, vous pourrez adapter la valeur de la variable
        query_cache_min_res_unit :
      
            La valeur par défaut de
            query_cache_min_res_unit est 4Ko. Cela
            doit être adapté la plupart des situations.
          
            Si vous avez beaucoup de requêtes avec de petits
            résultats, la taille par défaut sera un peu grande, et
            conduit à une fragmentation inutile de la mémoire,
            indiquée par un grand nombre de blocs libres. La
            fragmentation va forcer le cache à effacer d'anciennes
            requêtes pour libérer de la place. Dans ce cas, réduisez
            la valeur de query_cache_min_res_unit. Le
            nombre de blocs libres et de requêtes supprimées pour
            libérer de la place sont stockées dans les variables
            Qcache_free_blocks et
            Qcache_lowmem_prunes.
          
            Si la plupart de vos requêtes ont de grands résultats
            (vérifiez les variables
            Qcache_total_blocks et
            Qcache_queries_in_cache), vous pouvez
            augmenter la valeur de
            query_cache_min_res_unit. Cependant,
            soyez prudent de ne pas aggrandir trop la valeur (voir point
            précédent).
          
        query_cache_min_res_unit a été ajoutée en
        MySQL 4.1.
      
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.

