博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MySQL查询缓存
阅读量:7078 次
发布时间:2019-06-28

本文共 770 字,大约阅读时间需要 2 分钟。

一.mysql的查询缓存

1.查询缓存的命中率计算:
Qcache_hits/(Qcache_hits + Com_select)
二.查询缓存进行调优
1.Query_cache_type,这个选项表示缓存是否被激活
取值为ON,OFF,DEMAND,DEMAND的意思是包含了SQL_CACHE选项的查询才能被缓存
2.Query_cache_size,分给给查询缓存的总内存,以字节为单位,他必须是1024的倍数
3.Query_cache_min_res_unit,分配缓存块的最小值
4.Query_cache_limit,限制了mysql存储的最大结果,默认是1m,如果在缓存的过程中超过了限制,Qcache_not_cached的值被增大
5.Query_cache_wlock_invalidate,是否缓存其他连接已经锁定了的表,默认是OFF.
三.减少碎片
仔细的选择Query_cache_min_res_unit的值,可以用以下公式获取参考值
(query_cache_size - Qcache_free_memory) / Qcache_queries_in_cache得到一个平均的大小
移除碎片:FLUSH QUERY CACHE,这个命令不会从缓存中移除查询,只有RESET QUERY CACHE才会这么做
四.如果临时禁用缓存
可以将query_cache_size设置为0,因为改变query_cache_type不会影响已经打开的连接
五.通用缓存优化
1.不要让query_cache_size过大,256m已经足够了
2.使用较小的表
3.成批写入操作
4.写入过多的数据库,适合关闭缓存

转载于:https://www.cnblogs.com/itfenqing/p/4429402.html

你可能感兴趣的文章
ASP.NET Cache的一些总结2
查看>>
JAVA中易出错的小问题(二)
查看>>
asp.net 用正则表达式过滤内容中的电话,qq,email
查看>>
1109 Group Photo
查看>>
Flutter插件开发之APK自动安装
查看>>
创建本地CM 离线服务器
查看>>
PHP数组操作——取数组最后一个值
查看>>
springboot集成swagger2
查看>>
UIScrollView中使用AutoLayout
查看>>
为什么用ls和du显示出来的文件大小有差别?
查看>>
node.js学习之流解析(一)
查看>>
YxdIOCP (DIOCP修改版)
查看>>
转:进程 线程 协程 管程 纤程 概念对比理解
查看>>
站内全文搜索
查看>>
scala函数和方法的差别
查看>>
苹果平台上的媒体流播放技术HLS
查看>>
图书馆管理系统程序设计
查看>>
WebService Rest接收大量数据出现基础连接已经关闭的解决方案
查看>>
小R的烦恼 BZOJ3280
查看>>
左神算法基础班4_5折纸问题
查看>>