1.慢查询日志相关参数
是否开启慢查询日志,ON表示开启,OFF表示关闭,可通过1(开启)和0(关闭)来控制开关
slow_query_log
5.6及以上版本慢查询日志存储路径,如不设置系统则会默认给一个缺省的文件host_name-slow.log
slow-query-log-file
慢查询阈值,当查询时间多于设定的阈值时,记录日志,单位秒,默认时间10秒
long_query_time
未使用索引的查询也被记录到慢查询日志中(建议关闭,调优时可打开),默认关闭,仅在开启慢查询日志时生效
log_queries_not_using_indexes:
2.查看相关设置
2.1 查看慢日志基本配置信息
获取慢日志开启状态和日志文件存放路径
mysql> show variables like '%slow_query_log%';
2.2 查看记录sql的最大时长
默认为10秒,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中
mysql> show variables like 'long_query_time%';
2.3 查看未使用的索引是否记录的设置
未使用索引的查询也被记录到慢查询日志中(建议关闭,调优时可打开),默认关闭
mysql> show variables like 'log_queries_not_using_indexes';
2.4 查看有多少条慢查询记录
获取慢查询记录数量
mysql> show global status like '%Slow_queries%';
3.设置相关参数
3.1 设置慢日志开关
仅对当前数据库生效,重启后失效,如要永久生效需修改配置文件my.cnf,win环境下是my.ini
开启
mysql> set global slow_query_log=1;
关闭
mysql> set global slow_query_log=0;
3.2 设置慢查询日志记录的sql最大允许运行时间
设置完毕后需要重新连接,才可以看到更改后的设置信息,或使用"show global variables like 'long_query_time'"查看
设置sql最大允许运行时间,超过则记录到慢查询日志中
mysql> set global long_query_time=8;
查看设置后的时间
mysql> show global variables like 'long_query_time'