在刷新缓存之前,是否有可能使MySQL在表更新和保存该缓存至少10分钟时不会刷新缓存?
基本上,我正在缓存一个查询,该查询分析有关200k+记录并返回10行数据。查询大约需要1.5到3秒。我使用SQL_CACHE缓存该查询,第一次查询需要0.007(+-)秒。该表经常更新(在不到一分钟内多次更新)。因此,我想让MySQL在刷新缓存查询以重新计算之前,将缓存保持至少10分钟。
顺便说一句,对于站点上的每个用户来说,查询数据是唯一的。
我正在使用Codeigniter框架,我知道他们有一个内置的查询缓存功能,但是它是基于文件系统的。所以我更喜欢MySQL的缓存功能..。
谢谢大家的帮助!
发布于 2012-11-12 06:16:56
有三件事会导致从MySQL缓存中删除东西:
您可以控制#1,因为您可以更改缓存大小。但是,其他查询仍然可以占用缓存空间。我不知道控制2号有多重要。您可能想要使用SELECT SQL_NO_CACHE来阻止它们进入缓存。
从事物的声音来看,MySQL并没有给出您想要的缓存方式所需的东西。
您考虑过优化查询吗?在那张便条上,你能贴出实际的查询吗?
https://stackoverflow.com/questions/13339073
复制相似问题