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) |
きちんと削除されました。
関連リンク
- [MySQL5.5 Reference Manual] 8.9.3.4. Query Cache Status and Maintenance
- [MySQL5.1 リファレンスマニュアル] 4.13.4. クエリ キャッシュのステータスと保守
- [MySQL4.1 リファレンスマニュアル] 6.9.4. クエリキャッシュのステータスと保守