首先确认慢查询日志状态,若未开启则通过命令或配置文件启用,并设置阈值和日志路径;之后使用tail、mysqldumpslow等工具查看分析日志,定位执行时间长的SQL语句以优化。

查看慢查询日志(Slow Query Log)是排查数据库性能问题的重要手段,尤其在 MySQL 中使用广泛。下面介绍如何开启并查看慢查询日志。
登录 MySQL 后,执行以下命令查看当前慢查询日志状态:
SHOW VARIABLES LIKE 'slow_query_log';如果 slow_query_log 的值为 OFF,说明未开启。可以通过以下命令临时开启(重启后失效):
SET GLOBAL slow_query_log = 'ON';long_query_time 表示超过多少秒的查询会被记录,默认是 10 秒,可根据需要调整:
SET GLOBAL long_query_time = 2;查看当前日志文件位置:
SHOW VARIABLES LIKE 'slow_query_log_file';默认路径通常在数据目录下,如:/var/lib/mysql/hostname-slow.log。若需修改,可在 MySQL 配置文件中设置。
编辑 MySQL 配置文件(通常是 /etc/my.cnf 或 /etc/mysql/mysql.conf.d/mysqld.cnf),在 [mysqld] 段添加:
slow_query_log = 1其中 log_queries_not_using_indexes = 1 可记录未使用索引的查询,有助于优化。
保存后重启 MySQL 服务生效:
sudo systemctl restart mysql使用文本工具查看日志内容:
sudo tail -f /var/log/mysql/mysql-slow.log或使用 MySQL 自带的分析工具 mysqldumpslow:
mysqldumpslow -s c -t 10 /var/log/mysql/mysql-slow.log常用参数:
也可使用第三方工具如 pt-query-digest(Percona Toolkit 提供)进行深度分析。
基本上就这些。只要日志开启且路径正确,就能看到哪些 SQL 执行时间过长,进而优化语句或索引。
以上就是如何查看slow query log的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号