【性能测试】Mysql之慢查询01
一、Mysql常用监控指标
慢查询SQL
慢查询:指执行速度低于设置的阀值的SQL语句
作用:帮助定位查询速度较慢的SQL语句,方便更好的优化数据库系统的性能
1、开启MySQL慢查询日志
参数说明:
slow_query_log: 慢查询日志开启状态[ON:开启,OFF:关闭]
slow_query_log_file: 慢查询日志存放位置
long_query_time: 慢查询时长设置(超过该时长才会被记录,单位:秒)
设置步骤:
1). 查询相关参数配置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | mysql> show variables like 'slow_query%' ; +---------------------+---------------------------------------------------+ | Variable_name | Value | +---------------------+---------------------------------------------------+ | slow_query_log | OFF | | slow_query_log_file | /usr/local/mysql_data/mysql_slow.log | +---------------------+---------------------------------------------------+ 2 rows in set mysql> show variables like 'long_query_time' ; +-----------------+-----------+ | Variable_name | Value | +-----------------+-----------+ | long_query_time | 10.000000 | +-----------------+-----------+ 1 row in set1 row in set |
2)修改配置
1 2 3 4 5 6 7 8 | -- 开启慢查询 set global slow_query_log = 'on' ; -- 设置日志存放的路径 set global slow_query_log_file = '日志存放的路径' ; -- 超过0.5s set @@long_query_time = 0.5; |
这个long_query_time就是sql执行时间超过它,算是慢查询。
上面的修改方式,mysql重启后会失效;要永久生效,在mysql安装目录下的my.cnf(windows中是my.ini)中添加:
1 2 3 | slow_query_log = on slow_query_log_file = /路径 long_query_time = 0.5 |
2、测试
1 | select sleep(4); |
执行后,查看慢查询日志 /usr/local/mysql_data/mysql_slow.log
linux下命令:
1 | tail -20f /usr/local/mysql_data/mysql_slow.log |
select sleep(4); 语句就是存在慢查询的语句
3、备注
慢查询sql排查思路:
1 2 3 4 5 | 1.是否表数据量太大(考虑分库分表) 2.是否并发量过高 3.是否锁表 4.是否使用索引或索引没有生效 5.sql是否高效 |
本文来自博客园,作者:橘子偏爱橙子,转载请注明原文链接:https://www.cnblogs.com/xfbk/p/18014114
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
2023-02-12 【jmeter性能项目实战-06】轻商城项目-构造测试数据