勉強したことのメモ

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

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

   2024/05/22  MySQL / MariaDB

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 / MariaDB

  関連記事

MySQLで日時や日付で範囲検索する際に動作速度を向上させる方法
MySQLで日時や日付で範囲検索する際に動作速度を向上させる方法

MySQLでログ系等の大量にデータが格納されているテーブルから日時や日付で範囲検 ...

MySQLでユーザー作成時にエラーが発生
MySQLでユーザー作成時にエラーが発生

SSHからrootアカウントでMySQLにログインし、ユーザーを作成しようとする ...

MySQLでIPを整数値としてカラムに格納する
MySQLでIPを整数値としてカラムに格納する

MySQLでIPを整数値としてカラムに格納しているケースがあった。今までIPが必 ...

MySQLでテーブル構造とデータをコピーする方法
MySQLでテーブル構造とデータをコピーする方法

MySQLで既にあるテーブルとデータに対して実験を行う必要があった。本番テーブル ...

MySQLのRANK及びDENSE_RANK関数を用いてランキングを実装する方法
MySQLのRANK及びDENSE_RANK関数を用いてランキングを実装する方法

ランキング機能を実装する際、上位〇位までのデータをMySQLから持ってきて順位付 ...