mysqldumpslow使用详解
1. 慢查询日志的开启
2. mysqldumpslow
基本语法
3. 常用选项及示例
按查询时间排序
按锁定时间排序
按查询次数排序
显示前 N 条查询
忽略大小写
过滤查询语句
4. 输出结果解读
分类:
DBA
专注于分享最有价值的互联网技术干货
mysqldumpslow
是 MySQL 自带的一个用于分析慢查询日志的工具,它可以帮助数据库管理员和开发人员快速定位执行时间长、执行次数多的慢查询语句,从而对数据库进行性能优化。以下是关于 mysqldumpslow
的详细使用说明。mysqldumpslow
之前,需要确保 MySQL 的慢查询日志功能已经开启。可以通过以下步骤进行设置:SET GLOBAL slow_query_log = 'ON';
SET GLOBAL long_query_time = 2; -- 设置慢查询的时间阈值为 2 秒
/etc/my.cnf
或 /etc/mysql/my.cnf
),添加或修改以下配置项。[mysqld]
slow_query_log = 1
slow_query_log_file = /var/log/mysql/mysql-slow.log
long_query_time = 2
mysqldumpslow
基本语法mysqldumpslow [选项] [慢查询日志文件]
/var/log/mysql/mysql-slow.log
读取日志。-s t
:按照查询时间(Query Time)排序,显示执行时间最长的查询。mysqldumpslow -s t /var/log/mysql/mysql-slow.log
-s l
:按照锁定时间(Lock Time)排序,显示锁定时间最长的查询。mysqldumpslow -s l /var/log/mysql/mysql-slow.log
-s c
:按照查询次数(Count)排序,显示执行次数最多的查询。mysqldumpslow -s c /var/log/mysql/mysql-slow.log
-t N
:只显示前 N 条查询结果。例如,显示执行时间最长的前 5 条查询。mysqldumpslow -s t -t 5 /var/log/mysql/mysql-slow.log
-i
:在比较查询语句时忽略大小写。mysqldumpslow -i -s t /var/log/mysql/mysql-slow.log
-g 正则表达式
:使用正则表达式过滤查询语句,只显示匹配的查询。例如,只显示包含 SELECT
关键字的查询。mysqldumpslow -g 'SELECT' /var/log/mysql/mysql-slow.log
mysqldumpslow
的输出结果通常包含以下信息:Reading mysql slow query log from /var/log/mysql/mysql-slow.log
Count: 10 Time=1.50s (15s) Lock=0.00s (0s) Rows=100.0 (1000), user[user]@[host]
SELECT * FROM table_name WHERE column = 'value';
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律