开启慢查询日志需先启用功能并设置阈值,通过SHOW VARIABLES查看状态,SET GLOBAL配置参数,建议将long_query_time设为1秒,并启用log_queries_not_using_indexes记录未使用索引的查询,最后将配置写入my.cnf或my.ini实现持久化,重启MySQL生效。

在 MySQL 中,慢查询是指执行时间超过指定阈值的 SQL 语句。通过配置慢查询阈值,可以记录这些耗时操作,便于后续分析和优化。
开启慢查询日志
要配置慢查询,首先要确保慢查询日志功能已开启:
查看当前是否开启慢查询日志:
SHOW VARIABLES LIKE ‘slow_query_log’; 如果未开启,可通过以下命令启用:
SET GLOBAL slow_query_log = ‘ON’; 设置慢查询日志文件路径(可选):
SET GLOBAL slow_query_log_file = ‘/var/log/mysql-slow.log’;
设置慢查询时间阈值
MySQL 使用 long_query_time 参数定义慢查询的时间阈值(单位:秒),默认通常是 10 秒,一般建议调整为更合理的值,比如 1 秒或 0.5 秒。
查看当前阈值:
SHOW VARIABLES LIKE ‘long_query_time’; 设置新的阈值(例如 1 秒):
SET GLOBAL long_query_time = 1; 注意:该参数是会话级缓存,修改后需重新连接客户端才能看到更新后的值。
记录没有使用索引的查询(可选)
除了执行时间,还可以让 MySQL 记录未使用索引的查询语句,帮助发现潜在问题。
Tana
“节点式”AI智能笔记工具,支持超级标签。
80 查看详情
启用此功能:
SET GLOBAL log_queries_not_using_indexes = ‘ON’; 这样即使查询很快,但没走索引也会被记录到慢查询日志中。
持久化配置(避免重启失效)
上述 SET 命令只在运行时生效,重启后会失效。要永久生效,需写入 MySQL 配置文件(通常是 my.cnf 或 my.ini):
[mysqld]slow_query_log = ONslow_query_log_file = /var/log/mysql-slow.loglong_query_time = 1log_queries_not_using_indexes = ON
修改后重启 MySQL 服务即可。
基本上就这些。合理设置慢查询阈值并定期分析日志,能有效发现性能瓶颈。
以上就是mysql如何配置慢查询阈值的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/723816.html
微信扫一扫
支付宝扫一扫