MySQL のクエリキャッシュ周りの設定を確認/変更する方法

タイトルのとおり MySQL でクエリキャッシュ周りの設定を確認したり変更したりする方法について。

設定の確認はお馴染み show variables を使います。

mysql> show variables like '%cache%';

クエリキャッシュに絞る場合は like 節のところを %query_cache% としましょう。

mysql> show variables like '%query_cache%';
+------------------------------+----------+
| Variable_name                | Value    |
+------------------------------+----------+
| have_query_cache             | YES      |
| query_cache_limit            | 2097152  |
| query_cache_min_res_unit     | 4096     |
| query_cache_size             | 33554432 |
| query_cache_type             | ON       |
| query_cache_wlock_invalidate | OFF      |
+------------------------------+----------+

変更は設定ファイル my.cnf などで変更することができます。 設定ファイルに書き込んだ場合は再起動後も有効なグローバル(デフォルト)の設定となります。

たとえば query_cache_type を変更する場合は次のとおりです。

my.cnf:

[mysqld]
# クエリキャッシュを無効化
query_cache_type=0

mysql コマンドでそのセッションかぎりで変更する場合は次のようにするとよいでしょうか。

mysql> set query_cache_type=0;