勉強したことのメモ

webプログラマ見習いが勉強したことのメモ。

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

      2014/05/17

以前クエリキャッシュを設定していたけど、
これだとmysqlを再起動した時に再度設定しないといけない。

なので設定ファイルに書き込んだ。

vi /etc/my.cnf

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

↑↑を追記して再起動。

service mysqld restart

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

■query_cache_min_res_unit
ブロックのサイズ。これイマイチよくわからん。

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

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

■その他
後は普通にSQL打てばキャッシュされるけど、
キャッシュさせたくない時は、

SELECT SQL_NO_CACHE *
FROM testtable;

みたいにSQL_NO_CACHEをつける。

 - MySQL

  関連記事

MySQLで日時や日付で範囲検索する際の速度向上

結論としてはUNIXタイムスタンプ型にする。 MySQLでdatetime型で2 ...

テンポラリテーブルで高速化

5000万件ぐらいデータが入っているテーブルから 日本語検索しないといけないケー ...

MySQLでスレッドの実行状況を表示

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

MySQLでIPアドレスを数値として入れると変になる

MySQLでIPアドレスをINET_ATON関数を用いてINT型に変換し格納する ...

お名前.comの共用サーバー(SD)にphpmyadminを入れる

公式で書いてあるやつは3.4.2だけど、もうちょっと新しいバージョンを入れたかっ ...

PHPからMySQLにシリアライズしたデータを格納

アンケートフォームみたいなのがあって、 今後も定期開催し、尚且つ質問内容は増減す ...

エックスサーバーでMySQLのサイズに注意

エックスサーバーで自動更新のログをMySQLに保存するようなシステムを動かしてい ...

MySQLで同一サーバーの異なるDB内のテーブルをJOINする

同一のMySQLサーバーでdb1データベースのtable1テーブルと、db2デー ...

プリペアドステートメント

個人的に得た内容として、SQL文だけ先にDBに送って、 変数は後で送る。だからS ...

MySQLでdatetime型にもインデックスを使用

ログ関連のデータを格納するテーブルがあり、集計を行う際に非常に時間がかかった。レ ...