设为首页收藏本站language 语言切换
查看: 874|回复: 0
收起左侧

MySQL的查询缓存功能现已成了瓶颈!

[复制链接]
发表于 2017-6-7 14:36:44 | 显示全部楼层 |阅读模式

导读
多核机器变得很忙碌时,可扩展性就会很糟糕,于是MySQL数据库的开发人员决定要另谋出路。MySQL Server的一群开发人员已认定,MySQL的查询缓存(Query Cache)这项功能现已成了瓶颈,于是果断终结了该功能。

如果你在网上搜索一下“tuning MySQL query cache”(优化MySQL查询缓存),看到那么多的结果以及有人提供的五花八门的建议,这则新闻也就并不完全令人惊讶了。
正如MySQL Server的产品经理摩根·托克(Morgan Tocker)在这里撰写的那样,问题在于可扩展性。
缓存的操作看起来简单得很:SELECT(选择)命令存储在一个哈希表(又叫散列表,hash table)中;如果入站请求与哈希匹配,服务器就能返回上一次查询执行的结果(并且有保护机制,那样服务器不会返回过时陈旧的结果。)
托克写道,问题在于,“众所周知,面对多核机器上的高吞吐量工作负载,缓存无法很好地扩展。”
他继续写道,就算这个问题能够得到解决,解决办法也无法让查询缓存的性能变得更易于预测(言外之意就是变得更稳定);对于面向用户的系统来说,性能的稳定性常常比峰值吞吐量来得更重要。
MySQL Server的一群开发人员已决定“致力于其他更普遍适用于所有工作负载的改进方法”,而不是坚持修复缓存问题。
果真需要缓存机制的开发人员可以使用ProxySQL,升级到MySQL 8.0的其他用户“将被鼓励使用服务器端Query Rewrite(查询重写)。”

免费提供最新Linux技术教程书籍,为开源技术爱好者努力做得更多更好,开源站点:http://www.linuxprobe.com/

您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2025-3-13 18:57 , Processed in 0.070994 second(s), 22 queries , Redis On.  

  Powered by Discuz!

  © 2001-2025 HH010.COM

快速回复 返回顶部 返回列表