主题
慢查询日志
1. 什么是慢查询日志
慢查询日志用于记录执行时间超过指定阈值的 SQL 语句,帮助开发和运维人员分析和优化数据库性能,提升响应速度。
2. 启用慢查询日志
编辑 MariaDB 配置文件(通常为 /etc/my.cnf
或 /etc/mysql/my.cnf
),添加或修改以下参数:
ini
[mysqld]
slow_query_log = ON
slow_query_log_file = /var/log/mysql/mariadb-slow.log
long_query_time = 2
log_queries_not_using_indexes = ON
参数说明:
slow_query_log
:启用慢查询日志。slow_query_log_file
:慢查询日志文件路径。long_query_time
:定义超过多少秒的查询被记录,单位为秒。log_queries_not_using_indexes
:记录未使用索引的查询。
3. 重启 MariaDB 服务
保存配置后,重启 MariaDB 使配置生效:
bash
systemctl restart mariadb
4. 查看慢查询日志
可以使用 tail
命令实时查看慢查询日志:
bash
tail -f /var/log/mysql/mariadb-slow.log
也可以使用 mysqldumpslow
工具对日志进行汇总分析:
bash
mysqldumpslow /var/log/mysql/mariadb-slow.log
5. 优化建议
- 根据慢查询日志定位长时间执行的 SQL,检查是否缺少索引或查询不合理。
- 优化 SQL 语句结构,合理使用索引。
- 定期监控慢查询日志,持续提升数据库性能。
通过启用和分析慢查询日志,能够有效发现性能瓶颈,是数据库性能优化的重要手段。