勉強したことのメモ.

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

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

   2024/05/22  MySQL

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

 

設定方法

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

vi /etc/my.cnf

以下を追記する。

query_cache_limit = 2M
query_cache_min_res_unit = 4k
query_cache_size = 32M
query_cache_type = 1

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

service mysqld restart

 

設定項目

query_cache_limit

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

query_cache_min_res_unit

ブロックのサイズ。

query_cache_size

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

query_cache_type

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

 

その他

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

SELECT SQL_NO_CACHE *
FROM testtable;

 - MySQL

  関連記事

MySQLでwhere句を使ってカラム指定でデータをコピーする方法
MySQLでwhere句を使ってカラム指定でデータをコピーする方法

MySQLで大量のデータを保存しているテーブルがあり、そのデータを絞った上で尚且 ...

MySQLで指定したカラムの最頻値を抽出する方法
MySQLで指定したカラムの最頻値を抽出する方法

MySQLで指定したカラムの最頻値(全データの中で最も多く出現する値)を抽出した ...

MySQLに保存したデータをJSON形式で取得する方法
MySQLに保存したデータをJSON形式で取得する方法

MySQLに保存したデータをJSON形式で利用したいということがたまにある(Ja ...

MySQLでスレッドの実行状況を表示しスレッドの経過時間チェックや特定スレッドを強制終了する方法
MySQLでスレッドの実行状況を表示しスレッドの経過時間チェックや特定スレッドを強制終了する方法

データベースサーバが重たく、原因を調査する機会があった。サーバ自体のメモリやCP ...

MySQLでデータの集計時に1日の起点を任意の時間に変更する方法
MySQLでデータの集計時に1日の起点を任意の時間に変更する方法

MySQLで1日毎の集計を行う際、例えば2020/01/01のデータは2020/ ...