勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

MySQLのクエリキャッシュの設定方法

   2024/05/22  MySQL

MySQLでのクエリキャッシュ設定及び設定項目について以下にメモ。

 

設定方法

サーバにSSH接続し以下でMySQLの設定ファイルを開く。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
vi /etc/my.cnf
vi /etc/my.cnf
vi /etc/my.cnf

以下を追記する。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
query_cache_limit = 2M
query_cache_min_res_unit = 4k
query_cache_size = 32M
query_cache_type = 1
query_cache_limit = 2M query_cache_min_res_unit = 4k query_cache_size = 32M query_cache_type = 1
query_cache_limit = 2M
query_cache_min_res_unit = 4k
query_cache_size = 32M
query_cache_type = 1

以下でMySQLを再起動すると反映される筈。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
service mysqld restart
service mysqld restart
service mysqld restart

 

設定項目

query_cache_limit

この値を超える大きさのクエリ(結果)はキャッシュしないというもの。

query_cache_min_res_unit

ブロックのサイズ。

query_cache_size

クエリの結果を格納するために割り当てるメモリ量

query_cache_type

  • 0:キャッシュへの格納、結果の取り出しをいずれも行わない
  • 1:クエリを除くすべての結果をキャッシュする
  • 2:クエリのみキャッシュする

 

その他

後は普通にSQL文を実行するとキャッシュされるが、キャッシュさせたくない時は以下のようにSQL_NO_CACHEをつける。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
SELECT SQL_NO_CACHE *
FROM testtable;
SELECT SQL_NO_CACHE * FROM testtable;
SELECT SQL_NO_CACHE *
FROM testtable;

 - MySQL

  関連記事

MySQLで直近〇日、〇ヶ月、〇年以内のデータを検索する方法

他社が作成されたSQL文を見ているとDATE_ADDという使ったことの無い関数が ...

MySQLのtinyintのカラムにbool値を入れた場合

他所のシステムに携わることがあり中身を色々見ているとMySQLでtinyint( ...

MySQLでグループ化したものを条件で絞る(HAVING)

正規化したテーブルがあってその中には idとtagのカラムがある。 でtagの方 ...

MySQLでINSERT時にオートインクリメントではないカラムに連番を登録する方法

MySQLでINSERT時にオートインクリメントではないカラムに連番を登録したい ...

MySQLにてSELECT時にdate型のカラムから和暦を計算し表示する方法

MySQLにdate型のカラムに誕生年月日が格納されており、そこから和暦を計算し ...

S