mysql:11397
From: Takanori Jokura <Takanori Jokura <jo@xxxxxxxxxx>>
Date: Tue, 10 May 2005 13:51:56 +0900
Subject: [mysql 11397] Query Cache のヒット率を上げるには
こんにちは 城といいます。 mysql 4.1.11を windows 2000を使って動かしています。 4.1からの新機能であるクエリキャッシュを使って負荷を減らしてみようと思い 以下の設定を行いました。 #*** Query Cache Specific options query_cache_limit=1M query_cache_min_res_unit=4k query_cache_size=64M query_cache_type=1 しかし 現時点でのステータスは Qcache_not_cached 46258236 Qcache_inserts 826372 Qcache_hits 4030052 と、ヒット率が10%に満たない感じです。 テーブルの更新頻度は、1秒に1回ほど更新される感じです。 また、テーブルは200個ほどありほとんどの掲示板が 1秒に1回ほど更新されます。 Uptime は 402859 なので selectされた回数は、46258236+826372+4030052 = 51114660回 Uptime で割ると 51114660/402859 = 126.88 1秒間に127回ほど select されているので 最初の1回はキャッシュに入れられ、 その後はキャッシュから読まれ、Qcache_hits が増えていくと思ったのですが、 悲しいかな10%程度です。 ドキュメント(http://dev.mysql.com/doc/mysql/ja/query-cache-how.html) によると、大文字小文字を区別するようですが、 私のクエリは select * from `table_name` where no=? や select * from `table_name` where parent_no=? order by no asc limit x,y のように小文字に統一しています。 気になることはorder句やlimit句を使用している点ですが、 関係なさそうです。 もっとヒット率を上げるには、どのようにすればいいのでしょうか? よろしくお願いします。 城 jo@xxxxxxxxxx
-> 11397 2005-05-10 13:51 [Takanori Jokura <jo@] Query Cache のヒット率を上げるには 11398 2005-05-10 17:16 ┗[SUGAWARA Hajime <sug] 11399 2005-05-10 18:22 ┗[Takanori Jokura <jo@] 11400 2005-05-10 19:44 ┣[深海水草 <VYG01106@x] 11401 2005-05-10 22:21 ┗[SUGAWARA Hajime <sug]