MySQL慢查询分析
2022/6/20 2:21:54
本文主要是介绍MySQL慢查询分析,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一、开启慢SQL配置
Linux系统在mysql配置文件 /etc/my.cnf 增加
slow_query_log=1 long_query_time=0.1 # 单位秒(100ms)
配置完后重启mysql,systemctl restart mysql
二、慢查询查询是否生效
show variable like "%slow_query_log%"
三、慢查询日志分析
/usr/bin 目录下,使用mysql自带命令:mysqldumpslow
常用参数:
1、-s 是order排序,主要有 c、t、l、r和ac、at、al、ar,分别是安装query次数、时间、lock时间、返回的记录数排序
2、-a 倒序排序
3、-t 是top n的意思,即取前面多少条的数据
4、-g 后边可以写一个正则匹配模式,大小写不敏感
常用命令:mysqldumpslow -s at -t 50 host-slow.log (显示耗时最长的50个SQL语句的执行信息)
四、通过执行计划分析SQL语句
SQL语句前添加 explain
explain select id from user where username="admin";
执行计划结果分析
type 可能的值,自上到下性能越来越差
1、const -- 只有一个匹配行,用到primary key、unique key
2、Eq_ref --唯一性索引扫描
3、ref -- 非唯一性索引扫描,或只使用了联合索引的最左侧前缀
4、range -- 索引扫描范围,在索引上进行给定范围的检索,如 between、in
5、index -- 遍历索引
6、ALL -- 全表扫描,最不合理
possible_keys(可能用到的索引)
keys(真正用到的索引)
这篇关于MySQL慢查询分析的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-16MySQL资料:新手入门教程
- 2024-11-16MySQL资料:新手入门教程
- 2024-11-15MySQL教程:初学者必备的MySQL数据库入门指南
- 2024-11-15MySQL教程:初学者必看的MySQL入门指南
- 2024-11-04部署MySQL集群项目实战:新手入门教程
- 2024-11-04如何部署MySQL集群资料:新手入门指南
- 2024-11-02MySQL集群项目实战:新手入门指南
- 2024-11-02初学者指南:部署MySQL集群资料
- 2024-11-01部署MySQL集群教程:新手入门指南
- 2024-11-01如何部署MySQL集群:新手入门教程