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