masalibの日記

システム開発、運用と猫の写真ブログです

今更、mysqlのクエリーキャッシュを調べてみた

mysql8では廃止になったクエリーキャッシュですが mysql5.6でどれぐらい使われているのかチェックする事にしました

計算式

キャッシュで返されたクエリの数 / 全クエリ * 100 => ヒット率

具体的な項目だと

Qcache_hits / (Qcache_hits + Qcache_inserts + Qcache_not_cached) * 100  => ヒット率

になる

SHOW STATUS LIKE 'Qcache%';
で調べてエクセルなどで計算できるが

SQL一発で取れるみたい

SELECT (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'QCACHE_HITS')/(SELECT SUM(VARIABLE_VALUE)
  FROM INFORMATION_SCHEMA.GLOBAL_STATUS
 WHERE VARIABLE_NAME IN ('QCACHE_HITS','QCACHE_INSERTS','QCACHE_NOT_CACHED'))*100 AS CACHE_HIT_RATE;

今更だけど、この項目を監視などでチェックするべきだったと思う 無知ですいません

上記のSQLは以下のサイトから参考にしました

参考URL https://weblabo.oscasierra.net/mysql-query-cache/