我应该定期重置QUERY CACHE吗?

时间:2011-02-19 03:10:54

标签: mysql caching query-cache

我正在运行网站游戏。我没有触及任何事情,例如重置游戏已经启动的年份的查询缓存,我正在使用大约5000-1000万行,具体取决于表格。一切都在不断更新,所有东西都插入到表格中。如果我理解正确,每次插入或更新都会清除该表的缓存?这就是我在网上搜索的内容,我不知道这是否属实,或者我是否应该定期重置缓存。

一个月前发生的查询现在可能已经不再有用了。因此,如果它存储了那些查询结果,那么它完全没有价值,因为很可能没有人会再次运行相同的查询。

我跑了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

我真的不知道那些东西是什么意思,或者它们在确定我是否需要重置缓存时甚至是有用的。提前谢谢。

1 个答案:

答案 0 :(得分:0)

手册不是骗你的,任何改变表中数据的查询都会使引用该表的任何缓存条目无效。您永远不必手动刷新缓存。

如果您的数据经常更新以至于查询永远不会在缓存中持续,或者相同的查询很少运行以至于无法缓存它,那么您只是浪费了大量内存和CPU时间检查,在每个INSERTUPDATE查询上使缓存条目无效。实际上,您可以通过关闭查询缓存来查看性能提升。