mysql高速缓存相关参数设置
参考链接:http://blog.knowsky.com/183319.htm
查看mysql cache功能是否开启: show variables like '%query_cache%';结果如下
如果query_cache_type=ON,query_cache_size的值不为0则表示mysql cache已开启。
如果没开启,可在my,.cnf中配置query_cache_type=1(为1表示开启,为0表示关闭) ,query_cache_size=128M(该值可随便写) ,开启。
[参数说明]:
have_query_cache = yes : 表示当前版本的mysql是否支持Query cache 。为YES表示支持。
query_cache_type = ON : 表示已开启查询缓存功能。
query_cache_size = 205426: 查询缓存的大小,该值最好设置为1024的整数倍。
查询缓存功能开启后,该功能是否生效,可用show status like '%qcache%';来测试。结果如下:
[参数说明]:
Qcache_free_blocks : 表示缓存中目前还剩多少的blocks(块)
Qcache_free_memory: 表示查询缓存的内存大小
Qcache_hits: 表示有多少次命中缓存
Qcache_inserts : 表示有多少次未命中缓冲,为命中缓存则直接把该语句加入缓存中。
Qcache_lowmem_prunes: 该参数记录有多少条查询因为内存不足而被移除出缓存
Qcache_not_cached: 因为query_cache_type的设置而没有被缓存的数量
Qcache_queries_in_cache:当前缓存中缓存的查询数量
Qcache_total_blocks : 当前缓存的blocks数量
测试开始:
首先,查看 show status like '%qcache%'; 结果如下
接下来执行,select name,address from teacher where id =1; 后再show status like '%qcache%'; 查看 ,结果如下:
再次执行,select name,address from teacher where id =1; 后再show status like '%qcache%'; 查看 ,结果如下:
从图中可看出,Qcache_hits增加了1,而Qcache_inserts的值不变。 由此可知: 查询缓存成功了。