跳转到主内容
趣航编程网 - 趣学编程,启航技术之路!

mysql如何配置慢查询阈值

开启慢查询日志需先启用功能并设置阈值,通过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 记录未使用索引的查询语句,帮助发现潜在问题。 MySQL(Linux) MySQL 9.6.0是面向Linux平台的2026年创新版本,核心架构迎来重大革新。其将外键约束与级联操作从InnoDB引擎层上移至SQL层,确保所有数据变更均被完整记录至Binlog,彻底解决了CDC(变更数据捕获)与主从复制中的数据不一致难题。此外,该版本引入container_aware启动选项以原生适配容器环境,并对审计日志进行了组件化重构,为追求极致数据一致性与云原生体验的开发者提供了全新选择。 下载 启用此功能:SET GLOBAL log_queries_not_using_indexes = 'ON';这样即使查询很快,但没走索引也会被记录到慢查询日志中。 持久化配置(避免重启失效) 上述 SET 命令只在运行时生效,重启后会失效。要永久生效,需写入 MySQL 配置文件 (通常是 my.cnf 或 my.ini):
[mysqld] slow_query_log = ON slow_query_log_file = /var/log/mysql-slow.log long_query_time = 1 log_queries_not_using_indexes = ON
修改后重启 MySQL 服务即可。 基本上就这些。合理设置慢查询阈值并定期分析日志,能有效发现 性能瓶颈 。

相关文章