MySQLのクエリキャッシュ設定を変更したので記録しておきます。
ちなみに、MySQL 5.5.23 を利用しており、ストレージエンジンはInnoDBを利用しています。
デフォルト設定の確認
mysql コマンドで確認すると、「have_query_cache」がYESで、「query_cache_size」は 0 でした。
mysql> show variables like 'have_query_cache'; +------------------+-------+ | Variable_name | Value | +------------------+-------+ | have_query_cache | YES | +------------------+-------+ 1 row in set (0.08 sec) mysql> mysql> show variables like 'query_cache_%'; +------------------------------+---------+ | Variable_name | Value | +------------------------------+---------+ | query_cache_limit | 1048576 | | query_cache_min_res_unit | 4096 | | query_cache_size | 0 | | query_cache_type | ON | | query_cache_wlock_invalidate | OFF | +------------------------------+---------+ 5 rows in set (0.00 sec) mysql>
「query_cache_size」は 0 ですので、クエリキャッシュが無効になっているという事です。
設定の変更
クエリキャッシュを有効化する為に、一旦以下の設定を入れました。単位はbyteになります。
mysql> set global query_cache_size = 1000000; Query OK, 0 rows affected, 1 warning (0.02 sec) mysql
その後、再度クエリキャッシュ設定を確認すると、システムのアーキテクチャによって多少補正されていますが、意図した設定が入りました。
mysql> show variables like 'query_cache_%'; +------------------------------+---------+ | Variable_name | Value | +------------------------------+---------+ | query_cache_limit | 1048576 | | query_cache_min_res_unit | 4096 | | query_cache_size | 999424 | | query_cache_type | ON | | query_cache_wlock_invalidate | OFF | +------------------------------+---------+ 5 rows in set (0.00 sec) mysql> mysql> show warnings; Empty set (0.00 sec) mysql>
参考URL: MySQL 5.1 リファレンスマニュアル
今後、別途、設定値の調整を行っていく予定です。