Configurer le Query Cache dans MariaDB

Configurer le Query Cache dans MariaDB / MySQLLe Query Cache est un mécanisme de mise en cache des requêtes dans MariaDB / MySQL. L’objectif est d’améliorer les temps de réponse, en réduisant  les accès au disque et en privilégiant la lecture des données des requêtes à partir de la mémoire. Le souci est que ce dispositif peut entrer en concurrence avec la mise en mémoire des pages d’index, qui constitue le mécanisme principal utilisé par MySQL / MariaDB. Oracle a d’ailleurs décidé de supprimer le Query Cache à partir de la version 8 de MySQL. C’est une des raisons supplémentaires, de mon point de vue, qui doit vous amener à privilégier MariaDB à MySQL, même s’il ne faut certainement pas abuser de ce mécanisme qui est un pis-aller lorsque les tables ne sont pas correctement indexées.

Paramétrage du Query Cache dans MySQL / MariaDB

Afin de savoir si le Query Cache est activé dans vos instances MySQL / MariaDB, tapez à partir de l’interpréteur SQL :

SELECT @@have_query_cache;

La configuration du Query Cache est dynamique. Elle peut s’effectuer à chaud à l’aide des trois commandes suivantes :

SET GLOBAL query_cache_type=1; -- Activation du Query Cache pour toutes les requêtes, sauf celles utilisant la clause SQL_NO_CACHE
SET GLOBAL query_cache_limit=128MB; -- Taille maximale des données d'une requête mise en cache
SET GLOBAL query_cache_size=256MB; -- Taille maximale de toutes les données des requêtes mises en cache

Pour que le Query Cache soit pris en compte au prochain démarrage,, vous devrez ajouter au fichier /etc/my.cnf ou à l’un des fichiers contenus dans /etc/my.cnf.d, les variables indiquées ci-dessus :

query_cache_type=1
query_cache_limit=128MB;
query_cache_size=256MB;

Suivre la consommation du Query Cache

Dans MariaDB, vous disposez d’un plugin (/usr/lib64/mariadb/plugin/query_cache_info.so sur Fedora 27) qui vous permet de connaître le remplissage du Query Cache :

INSTALL SONAME 'query_cache_info';

Le plugin ajoute la table query_cache_info au schéma information_schema :

SELECT 
    SUM(result_blocks_size)/1048576
FROM 
    information_schema.query_cache_info;

Efficacité du Query Cache

Un hit ratio de plus de 80% – l’idéal étant qu’il tende vers 100% – entre le nombre de requêtes exécutées à partir du cache (qcache_hits) et la totalité des requêtes exécutées (com_select) est un indicateur de bonne santé de la base de données. Pour mesurer le nombre de plans d’exécution mis en cache, vous disposez de l’indicateur qcache_queries_in_cache qui est à comparer avec l’ensemble des plans d’exécution qcache_queries_in_cache+qcache_not_cached.

SELECT 
    variable_name,
    variable_value 
FROM 
    information_schema.global_status 
WHERE 
    variable_name IN ('qcache_hits','qcache_queries_in_cache','qcache_not_cached','com_select');

Défragmentation du Query Cache

Vous pouvez défragmenter les données des reqêtes mises en cache à l’aide de la commande SQL :

FLUSH QUERY CACHE;

Réinitialiser le Query Cache

Enfin, vous pouvez vider le cache en tapant à partir de l’interpréteur MySQL :

RESET QUERY CACHE;

MariaDB / , , ,

deneme bonusu veren siteler casino siteleri betdenemebonusu.com bahis siteleri Ev eşyası depolama Depolama Şehirlerarası evden eve nakliyat Evden eve nakliyat Eşya depolama yurtdışına ev taşıma Türkiye'den Almanya'ya ev taşıma zati eşya tasimaciligi uluslararasi zati eşya tasimaciligi eşya depolama şehirler arası nakliyat asansörlü nakliyat greatplay.net güvenilir online bahis siteler 2022 jetbahis Rexbet hovarda mobilbahis güncel adres sartsız Deneme Bonus sekabet maltcasino güncel adres> pinbahis100.com betduman.com olabahis.top سایت شرط بندی shartkade.com 1xbet-mobil.com beykoz evden eve nakliyat ataşehir evden eve nakliyat şişli evden eve nakliyat istanbul evden eve nakliyat
teens porn videos free sex xxx sexy videos