Mysql是否需要开启缓存

本文探讨了MySQL的查询缓存(QC)功能,指出虽然QC能提高查询速度,但频繁更新会导致缓存失效。文章讨论了QC的优缺点,如提高查询速度但增加额外开销,并提供了开启和关闭QC的方法。建议只在大部分查询只读且更新少的环境中全局开启或针对特定表开启。同时,注意某些场景下QC无法使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

从 MySQL 4.1 开始,增加了查询缓存(Query Cache,简称 QC)的功能,它会存储 select 语句的文本以及发送到客户端的结果。如果下一次收到一个相同的查询,就会从查询缓存中获得查询结果。

关于 QC 的详细定义,可以查询 MySQL 5.7 官方手册

那么是不是只要开启查询缓存就能提升查询速度呢?今天就一起探讨这一话题。

1 认识 QC
QC 需要缓存最新数据结果,因此表数据发生任何变化(insert、update、delete 等操作时),都会导致 QC 被刷新。

查询缓存相关的参数主要有:

show variables like “%query_cache%”;
在这里插入图片描述
这里解释一下上面几个参数

have_query_cache:服务器在安装时是否已经配置了高速缓存
query_cache_limit:单条查询能够使用的缓存区大小
query_cache_min_res_unit:查询缓存分配内存块的最小单位
query_cache_size:缓存区的大小,单位为 MB
query_cache_type:缓存类型,有三个值可选:

0 或者 off:关闭缓存
1 或者 on:打开缓存
2 或者 demand:只缓存带有 s

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值