![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
MySQL 5.0.77を使用しています。
以下の通り、クエリーキャッシュを使用する設定にしているにも関わらず、全くキャッシュされません。
原因に心当たりのある方はいらっしゃいますか?
+------------------------------+------------+
| Variable_name | Value |
+------------------------------+------------+
| have_query_cache | YES |
| query_cache_limit | 102400 |
| query_cache_min_res_unit | 4096 |
| query_cache_size | 102400 |
| query_cache_type | ON |
| query_cache_wlock_invalidate | OFF |
| version | 5.0.77-log |
+------------------------------+------------+
| Binlog_cache_disk_use | 0 |
| Binlog_cache_use | 0 |
| Qcache_free_blocks | 1 |
| Qcache_free_memory | 93832 |
| Qcache_hits | 0 |
| Qcache_inserts | 0 |
| Qcache_lowmem_prunes | 0 |
| Qcache_not_cached | 6378114 |
| Qcache_queries_in_cache | 0 |
| Qcache_total_blocks | 1 |
No.3ベストアンサー
- 回答日時:
phpに詳しくなく、MySQLにどういう要求が出るのか分かりませんが、MySQLのマニュアルのクエリキャッシュの説明で、次のような記述がありました。
http://dev.mysql.com/doc/refman/5.1/ja/query-cac …
「
注意:クエリ キャッシュは、サーバ サイドの準備されたステートメント (準備文) には使用できません。サーバ サイドの準備文がある場合には、クエリ キャッシュの条件を満たしません。
」
prepare + execute での実行は、対象外と言っているようです。
「え?なぜ?」とも思い、英語版ではどう書かれているのか確認してみました。
http://dev.mysql.com/doc/refman/5.1/en/query-cac …
「
Note
As of MySQL 5.1.17, the query cache is used for prepared statements under the conditions described in Section 7.5.5.1, “How the Query Cache Operates”. Before 5.1.17, the query cache is not used for prepared statements.
」
意味は分かりますよね?
No.2
- 回答日時:
当方、MySQL 5.1.36で、MySQL Command Line Clientで確認してみましたが、クエリキャッシュは利用されているよう(SHOW STATUSでの結果が変わっていく)です。
提示された”限定的な具体的な情報”の範囲では、問題ないようです。
>クエリは、シンプルなものですよ。副問い合わせなどは使用してません。
・シンプルかどうか
・シンプルであっても、MySQLのクエリキャッシュを使用できる条件を満たしているのか
といったことは、具体的な提示がないのでアドバイスしようがありませんから、もう一度、見直してもらうしかないです。
例えば、シンプルであっても、
・大文字と小文字
・空白の数
・関数の使用
といったことでも違うものとして扱われます。
設定はどこでやっていて(SETコマンドでの動的変更の有無など)、その結果はどのタイミングで確認しているのでしょうか?
キャッシュに入らないということ自体、どんなSELECT文なのでしょうかね?
また、MySQL Command Line Client、phpMyAdmin等でやってみて、どこに問題があるか絞ってみては?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL MySQLのテーブル作成でハイフン - は使用できないのでしょうか? 2 2022/10/21 16:50
- その他(OS) アプリの起動に必要なファイルについて 1 2023/04/23 17:53
- 事件・事故 舌ってちぎれたらどれほど痛いのですか? https://ikioi5ch.net/cache/vie 3 2023/01/10 18:07
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- PHP PHP MySQLに画像を直接保存 2 2022/06/05 11:50
- UNIX・Linux shellscript内のコマンドを、sudo(toor)として実行 2 2022/09/23 15:05
- 事件・事故 以下の記事の事件について、自分の指が目の前に突き出されたために自供した男の子はどんな心情だったと思い 1 2023/01/04 09:28
- デスクトップパソコン このスペックだといくらが妥当ですか? ●OS : Windows 10 64ビット ●CPU : C 3 2022/12/20 12:26
- MySQL `picture` varchar(255) のコマンドで間違いないでしょうか? 1 2022/11/21 04:08
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
MYSQLで読替え(SELECT~CASE)...
-
一行目のレコードを2度表示さ...
-
接続ができません
-
VBAで変数内に保持された二次配...
-
like句を使って日本語を検索す...
-
phpとmysqlを使っています。
-
SQLのVARCHARとVARCHAR2の違い
-
ヌル値は記憶容量を必要としな...
-
LIMIT で条件を満たしているの...
-
ERROR 1054 (42S22) 原因不明です
-
ERROR 1045 (28000) (using pas...
-
Usage: \\.<filename> | sourc...
-
文字コードMS932(Windows-31J...
-
ODBC接続で全角文字が文字化け
-
MySQLに外部PCから接続できない
-
JDBCドライバについて
-
列数が多いと結果が行単位に改...
-
ADOのバージョンを確認する方法
-
phpからinsertできない
-
副問合せにLIKE文を使う方法は...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
phpで複数のDBを使用した場合の...
-
MySQLが動かない(テーブルレコ...
-
show databasesコマンドが効かない
-
UPDATEできない
-
MySQLのテーブルのデータ数のカ...
-
MySQLで合計と小計の計算方法を...
-
初心者ですがupdateがうまくい...
-
phpでデーターベース編集
-
C言語で変数の内容をINSERTする...
-
複数行のクエリを、まとめて実...
-
緊急です。insert文が実行されない
-
(phpeditor)→(phpMyadmin)
-
新規ユーザ作成・ログインでき...
-
フォームとPHPの連携
-
MySQLのINSERT文で変数展開がで...
-
mysqlのデータベースの内容をph...
-
MYSQLで読替え(SELECT~CASE)...
-
カウントして抽出するsqlをまと...
-
[MySQL]全くクエリーキャッシュ...
-
検索結果IDの使いまわしについて
おすすめ情報