繁体   English   中英

在哪里使用MYSQL查询缓存

[英]where to use MYSQL query caching

问题

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

查询缓存是否对您有好处? 取决于

  • 您正在使用哪个MySQL版本
  • 您的申请规模是多少
  • 您要缓存哪种查询

这个怎么运作

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

问题与局限性

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

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

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

在MySQL服务器团队的博客上阅读有关在MySQL 8.0中淘汰查询缓存的这篇文章。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM