MySQL小知识:为何从8.0开始取消了MySQL查询缓存

MySQL 8.0版本取消了查询缓存,原因是查询缓存在高并发和频繁更新场景下可能导致性能下降和内存碎片。文章介绍了查询缓存的工作原理、优缺点以及对性能的影响,并探讨了替代方案。
摘要由CSDN通过智能技术生成

前言

缓存是对系统性能优化的重要手段。但是有经验的DBA都建议生产环境中把MySQL Query Cache关闭。MySQL8.0更是直接取消了查询缓存。
一键获取MySQL核心数据结构、底层实现原理、索引、事务、锁机制、MySQL性能优化案例、美团MySQL中间件等。

这是为什么?查询缓存在使用中遇到了什么坑?带着如下几个问题,我们正式进入本文。

  • 什么是MySQL查询缓存?
  • MySQL缓存规则。
  • MySQL缓存的优缺点。
  • MySQL缓存对性能的影响。

在这里插入图片描述

什么是查询缓存

MySQL体系架构
在这里插入图片描述
为了提高完全相同的Query语句的响应速度,MySQL Server会对查询语句进行Hash计算后,把得到的hash值与Query查询的结果集对应存放在Query Cache中。

如果没有匹配,将这个hash值存放在一个hash链表中,并将Query的结果集存放到cache中。
如果通过hash值匹配到了一样的Query,则直接将cache中相应的Query结果集返回给客户端。
目前MySQL Query Cache只会ca

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值