当数据库中某个查询的执行时间超过设定的阈值时(由参数 long_query_time 控制),会被记录到慢查询日志中,以便于后续分析和优化数据库性能。
慢查询通常是执行时间较长的查询语句,可能对数据库性能产生负面影响。这些查询可能由于不正确的索引、复杂的查询、大量数据操作或者数据库优化不当等原因导致执行效率低下。
开启慢查询
#/etc/my.cnf
[mysqld]
#一定要在[mysqld]下的下方加入,否则不起效果
slow_query_log=ON 
long_query_time=3 
slow_query_log_file=/var/lib/mysql/slow-log.log
参数说明
slow_query_log:- 作用: 控制慢查询日志是否开启。
 - 设置值:
OFF:关闭慢查询日志。ON:开启慢查询日志,记录执行时间超过long_query_time设置的阈值的查询。
 - 示例设置:
slow_query_log=ON表示慢查询日志已开启。
 
long_query_time:- 作用: 设置慢查询的时间阈值。
 - 设置值: 指定以秒为单位的时间。
 - 示例设置:
long_query_time=3表示慢查询的时间阈值设置为 3 秒。即执行时间超过 3 秒的查询会被记录到慢查询日志中。
 
slow_query_log_file:- 作用: 指定慢查询日志文件的路径和文件名。
 - 设置值: 指定慢查询日志文件的完整路径。
 
添加后重启检查:
mysql> show variables like ‘%slow_query%’

mysql>show variables like ‘%long_query_time%’
