首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为了维护快速查询,我必须每6小时刷新一次查询缓存,这是否正常?

为了维护快速查询,我必须每6小时刷新一次查询缓存,这是否正常?
EN

Database Administration用户
提问于 2014-09-16 19:52:33
回答 1查看 530关注 0票数 1

我正在运行MySQL 5.5.37。我有一个cron作业设置,每6小时运行一次,以刷新查询缓存。我意识到,如果不这样做,那么缓存就会变得支离破碎,平均查询响应时间可能会增加一倍或三倍。95%的数据保存在MyISAM表中。

我的平均响应时间在15到30毫秒之间,只要我有cronjob运行。

这是正常行为吗?或者它是否表明我有一个应该解决的潜在问题?也许我的query_cache_min_res_unit值太低了,这会导致碎片化吗?还是碎片是不可避免的,刷新缓存是完全正常的?

代码语言:javascript
复制
QUERY CACHE
Query cache is enabled
Current query_cache_size = 4.08 G
Current query_cache_used = 1.05 G
Current query_cache_limit = 3.24 G
Current Query cache Memory fill ratio = 25.79 %
Current query_cache_min_res_unit = 4 K
EN

回答 1

Database Administration用户

回答已采纳

发布于 2014-09-16 20:14:47

根据存储引擎的不同,刷新查询缓存是可以的

InnoDB将时间花在微观管理数据更改上。这包括交叉调度查询缓存。

我有一个2年前的帖子(Sep 05, 2012频繁查询缓存失效的开销值得吗?),我建议通过crontab运行FLUSH QUERY CACHE

我也有最近的帖子

解释如果一个人真正了解数据、结果集的平均大小以及查询缓存中应该有多少条目,那么如何尝试设置查询查询

除了对数据有这种预见性之外,碎片是不可避免的。

另一方面,如果您的所有数据都是MyISAM,那么您应该花时间通过了解您的数据来设置查询查询。毕竟,MyISAM不缓存数据。它只缓存索引。

尾声

不管存储引擎是什么,运行FLUSH QUERY CACHE;都不需要设置查询查询。它迅速消除了碎片化问题。如果数据集不是很大,请花时间调整数据和结果集的大小。你可以消除克罗尼卡。

更大的好处是:

  • 调优查询
  • 添加适当的索引以支持查询
  • 调MyISAM
票数 0
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/76763

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档