0

私はウェブサイトのゲームを実行しています。ゲームが開始された年のクエリキャッシュのリセットなどは何も触れていません。テーブルにもよりますが、約5000〜100万行を処理しています。すべてが絶えず更新されており、テーブルに挿入されています。私が正しく理解していれば、挿入または更新するたびにそのテーブルのキャッシュがクリアされますか?それが私のオンライン検索でわかったことですが、それが本当かどうか、または定期的にキャッシュをリセットする必要があるかどうかはわかりません。

1か月前に発生したクエリは、おそらく現在は役に立たなくなっています。したがって、これらのクエリ結果を保存している場合は、まったく同じクエリを再度実行する可能性がないため、まったく価値がありません。

SHOW STATUS LIKE "Qcache%"を実行したところ、結果は次のようになりました。

Qcache_free_blocks 6941

Qcache_free_memory 23490288

Qcache_hits 253269763

Qcache_inserts 368937684

Qcache_lowmem_prunes 57410566

Qcache_not_cached 9872266

Qcache_queries_in_cache 35275

Qcache_total_blocks 84877

それらが何を意味するのか、あるいはキャッシュをリセットする必要があるかどうかを判断するのに役立つのかどうかは、私にはよくわかりません。前もって感謝します。

4

1 に答える 1

0

マニュアルはあなたに嘘をつきませんでした。テーブル内のデータを変更するクエリは、そのテーブルを参照するキャッシュエントリを無効にします。キャッシュを手動でフラッシュする必要はありません。

データが頻繁に更新されるためにクエリがキャッシュに保持されない場合、または同じクエリの実行頻度が低いためにデータをキャッシュすることが役に立たない場合は、大量のメモリとCPU時間を浪費してキャッシュエントリをチェックして無効にしているだけです。すべてINSERTUPDATEクエリで。クエリキャッシュをオフにすると、実際にパフォーマンスが向上することがわかります。

于 2011-02-19T03:22:19.740 に答える