关于Mysql的Qcache优化
query_cache_size = 64M
指定MySQL查询缓冲区的大小。可以通过在MySQL控制台执行以下命令观察:
# > SHOW VARIABLES LIKE '%query_cache%';
# > SHOW STATUS LIKE 'Qcache%';
# 如果Qcache_lowmem_prunes的值非常大,则表明经常出现缓冲不够的情况;
如果Qcache_hits的值非常大,则表明查询缓冲使用非常频繁,如果该值较小反而会影响效率,那么可以考虑不用查询缓冲;Qcache_free_blocks,如果该值非常大,则表明缓冲区中碎片很多。
“Qcache_free_blocks”:Query Cache 中目前还有多少剩余的blocks。如果该值显示较大,
则说明Query Cache 中的内存碎片较多了,可能需要寻找合适的机会进行整理()。
● “Qcache_free_memory”:Query Cache 中目前剩余的内存大小。通过这个参数我们可以较为准
确的观察出当前系统中的Query Cache 内存大小是否足够,是需要增加还是过多了;
● “Qcache_hits”:多少次命中。通过这个参数我们可以查看到Query Cache 的基本效果;
● “Qcache_inserts”:多少次未命中然后插入。通过“Qcache_hits”和“Qcache_inserts”两
个参数我们就可以算出Query Cache 的命中率了:
Query Cache 命中率= Qcache_hits / ( Qcache_hits + Qcache_inserts );
● “Qcache_lowmem_prunes”:多少条Query 因为内存不足而被清除出Query Cache。通过
“Qcache_lowmem_prunes”和“Qcache_free_memory”相互结合,能够更清楚的了解到我们系
统中Query Cache 的内存大小是否真的足够,是否非常频繁的出现因为内存不足而有Query 被换
出
● “Qcache_not_cached”:因为query_cache_type 的设置或者不能被cache 的Query 的数量;
● “Qcache_queries_in_cache”:当前Query Cache 中cache 的Query 数量;
● “Qcache_total_blocks”:当前Query Cache 中的block 数量;
Query Cache 的限制
Query Cache 由于存放的都是逻辑结构的Result Set,而不是物理的数据页,所以在性能提升的同
时,也会受到一些特定的限制。
a) 5.1.17 之前的版本不能Cache 帮定变量的Query,但是从5.1.17 版本开始,Query Cache 已经
开始支持帮定变量的Query 了;
b) 所有子查询中的外部查询SQL 不能被Cache;
c) 在Procedure,Function 以及Trigger 中的Query 不能被Cache;
d) 包含其他很多每次执行可能得到不一样结果的函数的Query 不能被Cache。
鉴于上面的这些限制,在使用Query Cache 的过程中,建议通过精确设置的方式来使用,仅仅让合
适的表的数据可以进入Query Cache,仅仅让某些Query 的查询结果被Cache。
最新文章
- 用Middleware给ASP.NET Core Web API添加自己的授权验证
- 如何使用Xmanager及VNC登录远程桌面
- VS2013 带命令行参数的调试问题 解决方案
- mongo group by
- vim 配置
- ejs模板中的四种表达式输出形式
- c语言面试题之sizeof
- Java经典编程题50道之四十九
- Java并发编程实战 之 线程安全性
- [Go] golang的error接口
- Linux命令行对文件某(些)行的提取
- 编程入门视频【 Python、PHP、ThinkPHP、Laravel、Mysql、微信小程序】
- .net core2.x - Identity - 简介
- json.dumps()和json.loads()
- apache 通过ajp访问tomcat多个站点
- 各hbase版本对hadoop各版本的支持情况
- git笔记-9-29
- 【CF1132F】Clear the String (DP)
- A. Nephren gives a riddle
- java 持有对象总结
热门文章
- 【简】题解 AWSL090429 【原子】
- TCP链接请求的10种状态
- 为什么要用urlencode()函数进行url编码
- ciscn_2019_s_3 一道收获很多的题(进步大只能说明基础差)
- 资源相关视图(Project)
- CF134A Average Numbers 题解
- CF1077A Frog Jumping 题解
- centos使用docker安装redis ,并设置外网访问
- Android 控件使用教程(三)—— NineGridImageView 九宫格展示图片
- 【LeetCode】415. Add Strings 解题报告(Python)