是否有可能使MySQL在表刷新并在刷新缓存之前保持缓存至少10分钟时不刷新缓存?
基本上,我正在缓存一个分析大约200k +记录并返回10行数据的查询。查询大约需要1.5 - 3秒。我正在使用SQL_CACHE来缓存该查询,这在第一次需要0.007(+ - )秒之后。该表经常更新(在不到一分钟的时间内多次更新)。所以我想让MySQL保持缓存至少10分钟才能刷新缓存的查询以重新计算。
顺便说一下,查询数据对于网站上的每个用户都是唯一的。
我正在使用Codeigniter框架,我知道它们具有内置的查询缓存功能,但它基于文件系统。这就是为什么我更喜欢MySQL的缓存功能......
感谢所有帮助人员!
答案 0 :(得分:0)
有三件事会导致从MySQL缓存中删除:
您可以对#1进行一些控制,因为您可以更改缓存大小。但是,其他查询仍然可以占用缓存空间。我不知道控制#2有多重要。您可能希望使用SELECT SQL_NO_CACHE
来阻止这些进入缓存。
从事物的声音来看,MySQL并没有按照你想要的方式为你提供所需的东西。
您是否考虑过优化查询?在那个笔记上,你可以发布实际的查询吗?