MySQL为什么取消了Query Cache.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MySQL为什么取消了Query Cache? MySQL之前有一个查询缓存Query Cache,从8.0开始?不再使用这个查询缓存?那么放 弃它的原因是什么呢?在这一篇里将为您介绍MySQL查询缓存是查询结果缓存它将以SEL开头的查询与哈希表进行比拟,如果匹 配,那么返回上一次查询的结果进行匹配时,查询必须逐字节匹配,例如1 SELECT* FROMtl;不等于select*fromtl; ?此外,一些不确定的查询结果无法被缓存,任何对 表的修改都会导致这些表的所有缓存无效因此■适用于查询缓存的最理想的方案是只 读,特别是需要检查数百万行后仅返回数行的复杂查询如果你的查询符合这样一个特 点,开启查询缓存会提升你的查询性能- 随着技术的进步,经过时间的考验- MySQL的工程团队发现启用缓存的好处并不多- 首先,查询缓存的效果取决于缓存的命中率,只有命中缓存的查询效果才能有改善,因 此无法预测其性能其次,查询缓存的另一个大问题是它受到单个互斥锁的保护在具有多个内核的服务器 上,大量查询会导致大量的互斥锁争用. 通过基准测试发现,大多数工作负载最好禁用查询缓存(5.6的默认设置): query_cache_type = 0 300000 如果你认为会从查询缓存中获得好处,请按照实际情况进行测试 数据写的越多,好处越少 缓冲池中容纳的数据越多,好处越少 查询越复杂,扫描范围越大,那么越受益MySQL8.0取消查询缓存的另外一个原因是,研究说明,缓存越靠近客户端 获得的好 处越大 关于这份研究请参考 s:〃proxysql /blog/scaling?with-proxysql? query-cache/ 下列图源自上面的 除此之外,MySQL8.0新增加了对性能干预的工具,例如,现在可以利用查询重写插 件,在不更改应用程序的同时,插入优化器提示语句另外,还有像ProxySQL这样的第 三方工具,它们可以充当中间缓存. 综合以上原因? MySQL8.0不再提供对查询缓存的支持?如果用户从5.7版本升级至8.0 ? 考虑使用查询重写或其他缓存-全文完-

文档评论(0)

贤阅论文信息咨询 + 关注
官方认证
服务提供商

在线教育信息咨询,在线互联网信息咨询,在线期刊论文指导

认证主体成都贤阅网络信息科技有限公司
IP属地四川
统一社会信用代码/组织机构代码
91510104MA68KRKR65

1亿VIP精品文档

相关文档