在开发过程中,我们常常需要了解每条SQL查询所消耗的时间,这样可以帮助我们更好地优化查询性能。而MySQL提供了一种简单的方式,可以记录每条SQL的执行时间。
具体操作步骤如下:
1. 打开MySQL配置文件my.cnf
sudo vi /etc/mysql/my.cnf
2. 在[mysqld]下添加以下内容
log-slow-queries=/var/log/mysql/mysql-slow.log
long_query_time=2
3. 重启MySQL服务
sudo service mysql restart
参数说明:
log-slow-queries:指定MySQL记录慢查询的文件路径及文件名,默认为关闭状态,如果需要开启需要指定文件路径及文件名
long_query_time:指定SQL执行时间,单位为秒,默认为10秒,如果执行时间超过该时间就会被记录到日志文件中
记录文件存放在/var/log/mysql/mysql-slow.log中,使用tail命令可以查看最新的记录:
sudo tail -f /var/log/mysql/mysql-slow.log
每条SQL语句都会记录以下信息:
# Time:执行时间,单位为秒
# User@Host:执行用户及主机名
# Query_time:查询执行时间
# Rows_examined:扫描行数
# SQL语句
通过记录SQL执行时间,可以很好地了解数据库的性能状况,帮助我们优化查询语句,提高查询效率。