MySQLクエリキャッシュのステータス確認と削除
たまにしか実行しないので、よく忘れるコマンド「MySQLクエリキャッシュのステータス確認と削除」についてのメモ。
まずは、クエリキャッシュのステータス確認について。
クエリキャッシュのステータス確認
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | mysql> SHOW STATUS LIKE 'Qcache%'; +-------------------------+----------+ | Variable_name | Value | +-------------------------+----------+ | Qcache_free_blocks | 1 | | Qcache_free_memory | 21430536 | | Qcache_hits | 162 | | Qcache_inserts | 11960 | | Qcache_lowmem_prunes | 0 | | Qcache_not_cached | 24 | | Qcache_queries_in_cache | 11118 | | Qcache_total_blocks | 22267 | +-------------------------+----------+ 8 rows in set (0.00 sec) |
値の意味は以下の表の通り。
変数 | 説明 |
---|---|
Qcache_free_blocks | クエリキャッシュ内の空きメモリブロック数 |
Qcache_free_memory | クエリキャッシュの空きメモリ量 |
Qcache_hits | キャッシュヒット数 |
Qcache_inserts | キャッシュに追加されたクエリ数 |
Qcache_lowmem_prunes | メモリ不足のためにキャッシュから削除されたクエリ数 |
Qcache_not_cached | キャッシュされていない(キャッシュ不可、または QUERY_CACHE_TYPE により)クエリ数 |
Qcache_queries_in_cache | キャッシュに登録されているクエリ数 |
Qcache_total_blocks | クエリキャッシュ内の合計ブロック数 |
クエリキャッシュの削除
1 2 | mysql> RESET QUERY CACHE; Query OK, 0 rows affected (0.01 sec) |
削除されたか確認してみましょう。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | mysql> SHOW STATUS LIKE 'Qcache%'; +-------------------------+----------+ | Variable_name | Value | +-------------------------+----------+ | Qcache_free_blocks | 1 | | Qcache_free_memory | 33536912 | | Qcache_hits | 162 | | Qcache_inserts | 11960 | | Qcache_lowmem_prunes | 0 | | Qcache_not_cached | 25 | | Qcache_queries_in_cache | 0 | | Qcache_total_blocks | 1 | +-------------------------+----------+ 8 rows in set (0.00 sec) |
きちんと削除されました。