14、查询缓存

查询缓存原理

缓存 SELECT 操作或预处理查询的结果集和 SQL 语句,当有新的 SELECT 语句或预处理查询语句请求,先去查询缓存,判断是否存在可用的记录集,判断标准:与缓存的SQL 语句,是否完全一样, 区分大小写

查询缓存相关的服务器变量

03:48:46(root@localhost) [(none)]> show variables like 'query_%';
+------------------------------+----------+
| Variable_name                | Value    |
+------------------------------+----------+
| query_alloc_block_size       | 8192     |
| query_cache_limit            | 1048576  |
| query_cache_min_res_unit     | 4096     |
| query_cache_size             | 33554432 |
| query_cache_type             | OFF      |
| query_cache_wlock_invalidate | OFF      |
| query_prealloc_size          | 8192     |
+------------------------------+----------+
7 rows in set (0.01 sec)
query_cache_min_res_unit :查询缓存中内存块的最小分配单位,默认 4k ,较小值会减少浪费, 但会导致更频繁的内存分配操作,较大值会带来浪费,会导致碎片过多,内存不足
query_cache_limit :单个查询结果能缓存的最大值,单位字节,默认为 1M ,对于查询结果过大而无法缓存的语句,建议使用SQL_NO_CACHE
query_cache_size :查询缓存总共可用的内存空间;单位字节,必须是 1024 的整数倍,最小值40KB,低于此值有警报
query_cache_wlock_invalidate :如果某表被其它的会话锁定,是否仍然可以从查询缓存中返回结 果,默认值为OFF ,表示可以在表被其它会话锁定的场景中继续从缓存返回数据; ON 则表示不允
query_cache_type :是否开启缓存功能,取值为 ON, OFF, DEMAND

查询缓存相关的状态变量

04:00:22(root@localhost) [(none)]> show global status like 'Qcache%';
+-------------------------+----------+
| Variable_name           | Value    |
+-------------------------+----------+
| Qcache_free_blocks      | 1        |
| Qcache_free_memory      | 33537320 |
| Qcache_hits             | 0        |
| Qcache_inserts          | 0        |
| Qcache_lowmem_prunes    | 0        |
| Qcache_not_cached       | 2        |
| Qcache_queries_in_cache | 0        |
| Qcache_total_blocks     | 1        |
+-------------------------+----------+
8 rows in set (0.00 sec)

 MySQL8.0 取消查询缓存的功能

尽管 MySQL Query Cache 旨在提高性能,但它存在严重的可伸缩性问题,并且很容易成为严重的瓶 颈。
MySQL 5.6 2013 )以来,默认情况下已禁用查询缓存,其不能与多核计算机上在高吞吐量工作负载情况下进行扩展
目前大多数应用都把缓存做到了应用逻辑层,比如 : 使用 redis 或者 memcache
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

什么值得,什么难舍

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值