Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment activer le cache de requête MySQL

Le cache de requêtes MySQL stocke les résultats des requêtes fréquemment et récemment exécutées afin qu'ils puissent être renvoyés rapidement sans tout traiter à partir de zéro. Ils sont très utiles pour améliorer la vitesse des requêtes et les performances de la base de données. Voici les étapes pour activer le cache de requête MySQL pour votre base de données, définir la taille du cache MySQL et désactiver le cache de requête. Veuillez noter , le cache de requête MySQL est obsolète dans MySQL 5.7 et supprimé dans MySQL 8.0.


Comment activer le cache de requête MySQL

Voici la configuration du cache MySQL Query pour votre base de données.


1. Vérifier la disponibilité

Connectez-vous à MySQL et exécutez la commande suivante pour vérifier si le cache de requête MySQL est disponible pour votre base de données.

mysql> SHOW VARIABLES LIKE 'have_query_cache';
+------------------+-------+
| Variable_name    | Value |
+------------------+-------+
| have_query_cache | YES   |
+------------------+-------+

Si vous obtenez le résultat OUI, cela signifie que votre base de données prend en charge le cache de requête.

Lecture bonus :Comment activer le journal des requêtes lentes de MySQL

2. Variables de cache de requête par défaut

Le cache des requêtes MySQL est contrôlé par de nombreuses variables. Exécutez la commande suivante pour afficher d'abord leurs valeurs par défaut, avant de les modifier.

mysql> show variables like 'query_cache_%' ;

Vous verrez la sortie suivante

+------------------------------+----------+
| Variable_name                | Value    |
+------------------------------+----------+
| query_cache_limit            | 1048576  |
| query_cache_min_res_unit     | 4096     |
| query_cache_size             | 16777216 |
| query_cache_type             | OFF      |
| query_cache_wlock_invalidate | OFF      |
+------------------------------+----------+

Regardons les variables de cache de requête ci-dessus,

  • query_cache_limit - taille maximale des résultats de requête pouvant être mis en cache
  • query_cache_min_res_result – MySQL stocke le résultat de la requête dans des blocs. Il s'agit de la taille minimale de chaque bloc.
  • query_cache_size - indique la quantité totale de mémoire allouée au cache MySQL.
  • query_cache_type - définir ceci sur 0 ou OFF désactive le cache des requêtes MySQL. le définir sur 1 active le cache des requêtes.
  • query_cache_wlock_invalidate :détermine si MySQL doit récupérer les résultats du cache si la table sous-jacente est verrouillée.

Lecture bonus :Top 5 des outils de surveillance MySQL

3. Activer le cache de requête MySQL

Déconnectez-vous de MySQL. Ouvrez le terminal et exécutez la commande suivante pour ouvrir le fichier de configuration MySQL.

$ sudo vi /etc/mysql/my.cnf

Ajoutez les lignes suivantes sous la section [mysqld]

... 
[mysqld] 
query_cache_type=1 
query_cache_size = 10M 
query_cache_limit=256K

Nous avons activé le cache de requête en définissant la variable query_cache_type sur 1, avec un cache de requête individuel de 256 Ko et un cache total de 10 Mo. Vous pouvez modifier les valeurs de query_cache_size et query_cache_limit selon vos besoins.

Lecture bonus :Comment accélérer les requêtes MySQL

4. Redémarrez la base de données MySQL

Redémarrez MySQL pour appliquer les modifications

$ sudo systemctl restart mysql

OU

$ sudo service mysql restart

OU

$ sudo /etc/init.d/mysql restart


Espérons que cet article vous aidera avec la configuration du cache de requête MySQL.