Mysql 我应该定期重置查询缓存吗?
我正在运行一个网站游戏。在游戏开始的那一年里,我没有涉及过任何诸如重置查询缓存之类的事情,根据表的不同,我正在处理大约5000-100万行。所有内容都在不断更新,并插入到表中。如果我理解正确,每次插入或更新都会清除该表的缓存?这就是我在网上搜索时发现的,我不知道这是不是真的,或者我是否应该定期重置缓存 一个月前发生的查询现在可能不再有用了。所以,如果它存储了这些查询结果,那么它就完全没有价值了,因为很可能没有人会再次运行相同的查询 我运行了类似“Qcache%”的显示状态,结果是: Qcache_free_块6941 Qcache_free_内存23490288 Qcache_点击253269763 Qcache_插件368937684 Qcache_lowmem_修剪57410566 Qcache_not_缓存9872266 Qcache_缓存35275中的查询 Qcache_总计_块84877Mysql 我应该定期重置查询缓存吗?,mysql,caching,query-cache,Mysql,Caching,Query Cache,我正在运行一个网站游戏。在游戏开始的那一年里,我没有涉及过任何诸如重置查询缓存之类的事情,根据表的不同,我正在处理大约5000-100万行。所有内容都在不断更新,并插入到表中。如果我理解正确,每次插入或更新都会清除该表的缓存?这就是我在网上搜索时发现的,我不知道这是不是真的,或者我是否应该定期重置缓存 一个月前发生的查询现在可能不再有用了。所以,如果它存储了这些查询结果,那么它就完全没有价值了,因为很可能没有人会再次运行相同的查询 我运行了类似“Qcache%”的显示状态,结果是: Qcache
我真的不知道这些东西是什么意思,也不知道它们在确定是否需要重置缓存时是否有用。提前感谢。手册没有欺骗您,任何更改表中数据的查询都会使引用该表的缓存项无效。您永远不必手动刷新缓存
如果您的数据更新如此频繁,以致于缓存中的查询永远不会持续,或者同一查询运行如此频繁,以致于缓存它毫无用处,那么您只是在浪费大量内存和CPU时间,在每次
插入
和更新
查询时检查缓存项并使其无效。实际上,关闭查询缓存可以提高性能。有没有办法只为选定的表关闭查询缓存?我的90%的表经常更新,因此它们不需要查询缓存,但其他10%的表可能永远不会更新,因此查询缓存可能对它们很有用。其次,查询缓存只能在3种模式下运行:打开、关闭和按需。如果将其设置为on demand,则必须在发出查询时明确说明要缓存哪些查询<代码>选择SQL\u缓存列代码>。没有“为这些表打开”模式。