mysql的查询缓存

最后更新时间:2024-01-10
开启缓存:
mysql> set global query_cache_size = 600000; --设置缓存内存大小
ysql> set global query_cache_type = ON;     --开启查询缓存
关闭缓存
mysql> set global query_cache_size = 0; --设置缓存内存大小为0, 即初始化是不分配缓存内存
mysql> set global query_cache_type = OFF;     --关闭查询缓存

手动清理缓存

FLUSH QUERY CACHE; #清理查询缓存内存碎片
RESET QUERY CACHE;#从查询缓存中移除所有查询
FLUSH TABLES; #关闭所有打开的表,同时该操作会清空查询缓存中的内容

查询缓存相关变量

show variables like '%query_cache%';

MySQL Query Cache,译为MySQL查询缓存,此缓存区域用于缓存客户端的查询结果,使用Hash以计算Query语句的唯一性,查询结果构成Hash链,最终存于内存中:

  • 缓存结果是共享的,不同的客户端都可以使用
  • 表更新后,查询该表的缓存结果都将失效
  • 查询缓存仅支持SELECT
  • 超过 query_cache_limit 值的查询不会被缓存 

 

参考:

[玩转MySQL之四]MySQL缓存机制 - 知乎 (zhihu.com)

 
 
 
 
posted @ 2024-01-09 18:30  Igigi  阅读(246)  评论(0)    收藏  举报