在哪里使用MYSQL查询缓存

时间:2018-01-26 06:50:00

标签: mysql caching

问题

我的问题是我正在开发一个系统。我单击查询缓存概念以获得快速响应时间。现在我想找到Web应用程序上系统上哪种流量更适合查询缓存,哪种不是。以及查询缓存的缺点是什么。

1 个答案:

答案 0 :(得分:1)

查询缓存是否适合您?取决于

  • 你使用的是什么MySQL版本
  • 您的申请规模是多少
  • 您想要缓存哪种查询

如何运作

如果使用MySQL Query Cache,每次查询时,MySQL都不会遇到解析查询的麻烦。无论何时遇到查询,MySQL都会在查询缓存中查找相同的查询,如果找到查询,则不需要再次解析它,它只会将其发送到服务器并获取结果。

问题&限制

请记住,缓存不会存储查询数据。您不会从缓存的查询中收到旧/陈旧数据。 它只存储已解析的查询。但这里要指出的是,如果(缓存查询的)基础表经历任何更改,则缓存中使用的所有表都将失效。 / p>

除其他外,查询缓存存在严重的限制。缓存查询不能用于存储过程,函数和触发器。它们也不用于作为外部查询的子查询的查询。

它曾经被认为是加速查询的一个很好的工具,但是最近MySQL开发团队决定退出这个功能,因为他们发现了查询缓存的一些可伸缩性问题。

请阅读此this article on MySQL Server Team's blog about retiring the Query Cache in MySQL 8.0