【数据库】MySQL慢查询常用分析方法

您所在的位置:网站首页 mysql查询缓慢原因和解决方案的区别 【数据库】MySQL慢查询常用分析方法

【数据库】MySQL慢查询常用分析方法

2023-06-28 07:05| 来源: 网络整理| 查看: 265

系统慢慢越来越卡了,怎么定位系统慢的原因,大部分是因为服务器资源占用耗费高引起的,如CPU,内存和带宽等等。MySQL在日常开发工作中可能会遇到某个新功能在测试时需要很久才返回结果,这时就应该分析是不是慢查询导致的,如果确实有慢查询,就需要来学习怎么找到慢查询和怎么分析 SQL 执行效率? 定位慢 SQL 有如下两种解决方案: 查看慢查询日志确定已经执行完的慢查询 show processlist 查看正在执行的慢查询 定位到慢查询语句后,可以通过 explain、show profile 和 trace 等诊断工具来分析慢查询

定位慢 SQL 有如下解决方案 查看慢查询日志

 

使用 explain 分析慢查询

show profile 分析慢查询

 

show processlist 查看正在执行的慢查询

怎样开启慢查询

开启命令 #开启慢查询 set global slow_query_log = on; set global long_query_time = 1; #单位s 查询数据存放位置 show global variables like "datadir"; show global variables like "slow_query_log_file"; 使用 explain 分析慢查询 使用命令explain关键字

explain select * from A where a.=''

关键指标说明 

列名    解释 id    查询编号 select_type    查询类型:显示本行是简单还是复杂查询 table    涉及到的表 partitions    匹配的分区:查询将匹配记录所在的分区。仅当使用 partition 关键字时才显示该列。对于非分区表,该值为 NULL。 type    本次查询的表连接类型 possible_keys    可能选择的索引 key    实际选择的索引 key_len    被选择的索引长度:一般用于判断联合索引有多少列被选择了 ref    与索引比较的列 rows    预计需要扫描的行数,对 InnoDB 来说,这个值是估值,并不一定准确 filtered    按条件筛选的行的百分比 Extra    附加信息

show profile 分析慢查询



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3