- select @@query_cache_type; 查询缓存状态 0 = off 关闭 1 =ON 开启 2 = DEMAND 当sql语句中有sql_cache 关键字才缓存
- 开启缓存(文件配置方法) 在mysql.ini 文件最后加入 query_cache_type = 1 query_cache_size = 600000 (命令方法->) set global query_cache_type = 1 (也可以 set session query_cache_type = ON) set global query_cache_size 600000
- 查看缓存设置情况 show variables like '%query_cache%' 包括命中率等待
- show status like '%Qcache_hits% ' 查询缓存命中累计次数 如果query_cache_size 为0 缓存没有效果
- query_cache_limit 如果查询结果大于该值,则不进行缓存
- show variables like
'%query_cache%';查询缓存相关变量
- show
status like '%Qcache%'查看缓存状态
- 查询缓存命中率的计算公式是:Qcache_hits/(Qcache_hits
+ Com_select)。
- query_cache_min_res_unit
默认4KB 如果设置大对大数据查询有好处,如果都是小查询容易生成内存碎片,
-
query_cache_min_res_unit的配置是一柄”双刃剑”,默认是4KB,设置值大对大数据查询有好处,但如果你的查询都是小数据 查询,就容易造成内存碎片和浪费。
查询缓存碎片率 = Qcache_free_blocks / Qcache_total_blocks * 100%
如果查询缓存碎片率超过20%,可以用FLUSH QUERY CACHE整理缓存碎片,或者试试减小query_cache_min_res_unit,如果你的查询都是小数据量的话。
查询缓存利用率 = (query_cache_size - Qcache_free_memory) / query_cache_size * 100%
查询缓存利用率在25%以下的话说明query_cache_size设置的过大,可适当减小;查询缓存利用率在80%以上而且 Qcache_lowmem_prunes > 50的话说明query_cache_size可能有点小,要不就是碎片太多。
查询缓存命中率 = (Qcache_hits - Qcache_inserts) / Qcache_hits * 100%
示例服务器 查询缓存碎片率 = 20.46%,查询缓存利用率 = 62.26%,查询缓存命中率 = 1.94%,命中率很差,可能写操作比较频繁吧,而且可能有些碎片。
-
转载地址 http://www.111cn.net/database/mysql/63815.htm
相关推荐
MiniOSD DIY记
最近迷上了航模,研究了很多东西,感觉路走的长了还是适当要停下脚步休息下总结下。 这次DIY的是一块OSD设备,主要用于航模图传的叠加显示,原理也很简单就是atmel atmega328p+MAX7456芯片,网上卖的成品基本上都是一个原理图。 原理图 我按照我自己的需要做了适当的更改,去掉了DC-DC电路,直接用5V输入,因为摄像头都是5V的,所以DC-DC不是很有必要,体积上更加小了点, 打...
mysql
MySql MySql简介 mysql是最流行的关系型数据库之一,体积小,速度快,开源免费,简单易用,维护成本低,易于扩展,高可用。 演变过程 单机单库:当数据量太大或者读写操作量太大时,会超出一台服务器的承受能力 主从架构:结局了高可用和读扩展问题,主库宕机也可以通过主从切换保证高可用,主库抗写压力,从库分担读压力,对于写少读多的应用,主从模式就可以胜任了。但是数据量过大超出一台服务器时问题依然存在,写操作太多超出一台服务器承受的情况下,依然不能承受。 分库分表:进行水平拆分,每个实例都有全部数据的1/
FPGA时序约束--实战篇(读懂Vivado时序报告)
本文将详细介绍如何读懂Vivado时序报告,包括报告的基本结构和如何分析报告。
MySQL查询优化详解
mysql 查询优化-查询执行的路径 mysql 客户端/服务端通信 查询缓存 查询优化处理 查询执行引擎 返回客户端 mysql 客户端/服务端通信 Mysql客户端与服务端的通信方式是“半双工”; 全双工:双向通信,发送同时也可以接收 半双工:双向通信,同时只能接收或者是发送,无法同时做操作 单工:只能单一方向传送 半双工通信: 在任何一个时刻,要么是有服务器向客户端发送数据,要么是客户...
[比赛]新冠期间饿了么骑士行为预估-数据理解
写在前面 饿了么的比赛的赛题数据理解。 一、骑士行为数据 courier_id 骑士id wave_index 波次index tracking_id 订单id courier_wave_start_lng 波次起始时刻骑士位置 courier_wave_...
删除结点
对给定的单链表 L ,设计一个算法,删除 L 中值为 x 的结点的直接前驱结点。 1 由键盘输入值,换行表示输入结束,根据输入建立单链表。 2 输入链表中的一个元素值,从链表中删除这个元素的前驱结点。 3 对删除元素后的链表元素在屏幕上显示。 测试用例1 11 22 33 44 55 66 77↵ 44↵ 期待输出1 11 22 44 55 66 77↵ #include <iostre...
Mysql 查询缓存(Query Cache)详细介绍
一、功能说明 MySQL查询缓存保存查询返回的完整结果。当查询命中该缓存,会立刻返回结果,跳过了解析,优化和执行阶段。 查询缓存会跟踪查询中涉及的每个表,如果这写表发生变化,那么和这个表相关的所有缓存都将失效。 但是随着服务器功能的强大,查询缓存也可能成为整个服务器的资源竞争单点。 二、开启、关闭方法 查看当前版本是否支持QC功能: SHOW VARIABLES LIKE 'ha...
告别Keil!用VSCode+PlatformIO玩转STC单片机(附自动下载配置)
本文详细介绍了如何从Keil迁移到VSCode+PlatformIO进行STC单片机开发,包括环境搭建、自动下载配置等实用技巧。通过对比传统IDE与现代工具链的差异,展示了VSCode+PlatformIO在代码编辑体验、跨平台支持和开发效率上的优势,帮助开发者实现更流畅的STC单片机开发流程。
MySQL高速缓存启动方法及参数详解——query_cache
MySQL query cache从4.1版本开始提供了,不过值今天本人才对其进行研究。默认配置下,MySQL的该功能是没有启动的,可能你通过show variables like ‘%query_cache%’;会发现其变量have_query_cache的值是yes,MYSQL初学者很容易以为这个参数为YES就代表开启了 查询缓存,实际上是不对的,该参数表示当前版本的MYSQL是否支持Qu
【漏洞复现】永恒之蓝 MS17-010 远程溢出漏洞(CVE-2017-0143)
文章目录声明前言一、漏洞原理简述二、漏洞代码深层解析三、实验步骤四、漏洞补丁总结 声明 本篇文章仅用于技术研究与技术学习,切勿用于非授权下攻击行为,切记! 前言 Windows7 存在 MS17-010 永恒之蓝(远程溢出漏洞) ,该漏洞是方程式组织在其漏洞利用框架中一个针对SMB服务进行攻击的漏洞,该漏洞导致攻击者在目标系统上可以执行任意代码 一、漏洞原理简述 MS17-010漏洞出现在Windows SMB v1中的内核态函数 srv!SrvOs2FeaListToNt 在处理FEA(File Ex
【YOLOv8科研级优化】基于YOLOv9的GELAN模块重构C2f架构,显著提升模型精度与推理效率
打开确保模型解析器能识别GELANBlock模块。通过将YOLOv9的GELAN模块集成到YOLOv8的C2f模块中,我们实现了一个“强特征表达+高效计算”的目标检测模型。这个改进不仅在工程上能提升复杂场景下的检测效果,更在科研上提供了“多分支特征融合”的创新思路——这种思路可以延伸到其他检测网络(如Faster R-CNN、SSD)的改进中,帮你在论文中打造独特的研究点。
Mysql性能监控常用查询命令
查询缓存情况 SHOW VARIABLES LIKE '%cache%'; 查询慢查询情况 SHOW VARIABLES LIKE '%slow%'; SHOW GLOBAL STATUS LIKE '%slow%'; 查看最大链接数 SHOW VARIABLES LIKE 'max_connections'; 查看最大链接过的用户数 SHOW GLOBAL STATUS LIKE...
华为OD机试 - 跳房子I(Java 双机位A卷 100分)
可行的两步组合有 [1, 2] (索引和 0+3=3)、[1, 2] (索引和 0+4=4)、[4, 2] (索引和 1+3=4)、[4, 2] (索引和 1+4=5)、[5, 2] (索引和 2+3=5)、[5, 2] (索引和 2+4=6)。此样例有多种组合满足两回合跳到最后,譬如[-1,9], [2,6],其中[-1,9]的索引和为0+3=3, [2,6]的索引和为1+4=5, 所以索引和最小的步数组合为[-1,9].[3, 2] 和 [1, 4] 都满足和等于 5,且索引和均为 3。
myql深度学习14-查询缓存
mysql的性能优化方面经常涉及到缓冲区(buffer)和缓存(cache),mysql采用的缓冲池(buffer pool)的方式来缓冲数据和索引。如果表改变了,那么这个表的缓冲查询将不再有效,查询缓存值得相关条目就被清空。 ①开启查询缓存需要在my.ini中配置,直接使用mysql命令并不生效 query_cache_type=on ②查看缓存是否已经开启 SELECT @@query_ca...
VB摄像头监控
该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制
android 蓝牙通讯demo
android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。
springboot +mybatis 查询myql开启程序级别缓存
对比维度MyBatis 二级缓存 (方案一)Spring Cache + Caffeine/Redis (方案二)作用层级Mapper 层 (DAO层)Service 层 (业务逻辑层)控制粒度较粗(基于 Namespace)极细(基于方法、参数自定义 Key)多表关联查询极易产生脏数据(不推荐)可通过手动清除或设置合理过期时间解决分布式支持默认不支持(需引入第三方插件)完美支持(直接切换为 Redis 即可)生产环境推荐度⭐ (仅适合单表、不常更新的字典表)⭐⭐⭐⭐⭐ (企业级标准做法)在。
温度PID控制PLC程序
温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值
myql优化,启动mysql缓存机制,实现命中率100%
虽然这个标题夸张得过了头,但此文很完整,值得学习。转自 http://www.yy520.net/read.php?278 myql优化,启动mysql缓存机制,实现命中率100% 配置你的mysql配置文件:主要是配置[mysqld]后面的内容。 1,优化远程连接速度。 在[mysqld]下面添加skip-name-resolve skip-name-resol
VC中sqlite的使用
在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示
前端缓存&本地缓存&分布式缓存
常见的缓存有哪些?
面试官:缓存穿透、缓存雪崩和缓存击穿是什么?
对于web来说,是用户量和访问量支持项目技术的更迭和前进。随着服务用户提升。可能会出现一下的一些状况: 页面并发量和访问量并不多,mysql足以支撑自己逻辑业务的发展。那么其实可以不加缓存。最多对静态页面进行缓存即可。 页面的并发量显著增多,数据库有些压力,并且有些数据更新频率较低反复被查询或者查询速度较慢。那么就可以考虑使用缓存技术优化。对高命中的对象存到key-value形...
thinkphp mysql缓存_ThinkPhp数据缓存技术
1.缓存初始化在 ThinkPHP 中,有一个专门处理缓存的类:Cache.class.php(在Thinkphp/Library/Think/cache.class.php,其他的各种缓存类也在这个文件夹下)。而我们使用的时候,并不需要直接声明它,直接使用一个大 S()方法即可ThinkPhp系统内置对缓存操作进行了封装,直接采用S方法。//缓存初始化S(array('type'=>'xc...
MySQL缓存策略详解
MySQL缓存方案目的分析:缓存层的作用,缓存层选择,场景分析。 提升MySQL访问性能的方式:MySQL主从复制,读写分离,连接池,异步连接。 redis作为主数据库的常用方法。 缓存方案:缓存和MySQL一致性状态分析,制定读写策略。 同步方案:canal,go-mysql-transfer。 缓存方案的故障问题及解决:缓存穿透,缓存击穿,缓存雪崩。 缓存方案的弊端是不能处理多语句的事务。
mysql查询缓存
Mysql 查询缓存 查询缓存的作用就是当查询接收到一个和之前同样的查询,服务器将会从查询缓存种检索结果,而不是再次分析和执行上次的查询。这样就大大提高了性能,节省时间。 1.配置查询缓存 修改配置文件,修改[mysqld]下的query_cache_size和query_cache_type(如果没有则添加)。其中query_cache_size表示缓存的大小,而query_c...
缓存,换粗穿透,缓存雪崩,缓存击穿
个人对苍穹外卖这个项目的一些总结供大家欣赏
阿里面试Redis最常问的三个问题:缓存穿透、缓存击穿、缓存雪崩(带答案)
如上图,正常情况下,如果用户在redis缓存中没有查询到自己想要的数据,就会去mysql数据库中查询。如果mysql数据库中也没有,在没有任何措施下,用户一定会不断的去mysql数据库中查询,随着时间的推移,用户越来越多,越来越多的用户在redis缓存中没有查询到自己想要的数据,越来越多的用户就会去mysql数据库中查询,这就造成了缓存穿透。1、使用布隆过滤器“过滤器”这个名词做过项目的人应该很熟悉,而对于redis缓存穿透而言,使用“布隆过滤器”就是解决方案之一。后台服务端可以在用户和redis数据库之间
二、OpenResty实现缓存(nginx缓存)
上一篇:OpenResty(lua脚本读mysql,写入redis):https://blog.youkuaiyun.com/qq_43220949/article/details/113784003) 使用openresty实现缓存(nginx缓存) nginx.conf修改 # 定义nginx缓存空间 dis_cache lua_shared_dict dis_cache 5m; server { listen 80; server_name localhos
项目中缓存是如何使用的?为什么要用缓存?缓存使用不当会造成什么后果?
面试题 项目中缓存是如何使用的?为什么要用缓存?缓存使用不当会造成什么后果? 面试官心理分析 这个问题,互联网公司必问,要是一个人连缓存都不太清楚,那确实比较尴尬。 只要问到缓存,上来第一个问题,肯定是先问问你项目哪里用了缓存?为啥要用?不用行不行?如果用了以后可能会有什么不良的后果? 这就是看看你对缓存这个东西背后有没有思考,如果你就是傻乎乎的瞎用,没法给面试官一个合理的解答,那面试官...
Mysql 不使用查询缓存
Mysql 不使用查询缓存Mysql 不使用查询缓存关闭Mysql 缓存临时命令关闭缓存永久关闭查询缓存修改sql语句 Mysql 不使用查询缓存 有时候在开发过程中,需要测试查询查询的实际性能,这时候就需要关闭查询缓存。不使用查询缓存,总体来说有两种方案。 关闭Mysql 缓存 关闭缓存有两种放法,一种临时的,一种永久的。 临时命令关闭缓存 set global query_cache_size=0 set global query_cache_type=0 mysql 重启后,以上设置失效 永久关闭查询
8523



被折叠的 条评论
为什么被折叠?



