mysql服务器有一项功能,可以检测到哪条sql语句查询得比较慢,就是慢查询slowlog,现在介绍如何开启。

在[mysqld]下面增加如下代码:

long_query_time = 1
log-slow-queries = /usr/local/mysql/data/slow.log
log-queries-not-using-indexes
long_query_time = 1 #定义超过1秒的查询计数到变量Slow_queries。
log-slow-queries = /usr/local/mysql/data/slow.log #定义慢查询日志路径。
log-queries-not-using-indexes #未使用索引的查询也被记录到慢查询日志中(可选)。

mysql自带了一个查看慢日志的工具mysqldumpslow。

执行mysqldumpslow --h可以查看帮助信息。

主要介绍两个参数-s和-t

-s 这个是排序参数,可选的有:

al: 平均锁定时间

ar: 平均返回记录数

at: 平均查询时间

c: 计数

l: 锁定时间

r: 返回记录

t: 查询时间

-t n 显示头n条记录。

实例:

mysqldumpslow -s c -t 20 host-slow.log

mysqldumpslow -s r -t 20 host-slow.log

上述命令可以看出访问次数最多的20个sql语句和返回记录集最多的20个sql。

mysqldumpslow -t 10 -s t -g “left join” host-slow.log

这个是按照时间返回前10条里面含有左连接的sql语句。

用了这个工具就可以查询出来那些sql语句是性能的瓶颈,进行优化,比如加索引,该应用的实现方式等。

如何开启MySQL慢查询日志

一.开启慢查询日志首先需要了解四个参数: slow_query_log # 是否开启慢查询日志,默认OFF,开启则设置为 ON. slow_query_log_file # 慢查询日志文件存储位置. ...

mysql慢查询日志分析工具mysqldumpslow

一.mysqldumpslow为mysql自带,安装后既带有该工具. 二.mysqldumpslow经常使用的参数 -s,是order的顺序 al 平均锁定时间 ar 平均返回记录时间 at 平均查询 ...

开启MySQL慢查询日志

1.修改my.cnf或my.ini 1).linux----------------------------------- /etc/my.cnf  文件 [mysqld] long_query_ti ...

mysql慢查询日志功能的使用

作用:mysql慢查询日志可监控有效率问题的SQL .. 一.开启mysql慢查询日志功能 1.查看是否开启 未使用索引的SQL记录日志查询 mysql> show variables like ...