码迷,mamicode.com
首页 > 数据库 > 详细

mysql 5.6 设置慢查询

时间:2016-07-19 13:28:31      阅读:295      评论:0      收藏:0      [点我收藏+]

标签:

mysql 5.6 开启慢查询日志

slow_query_log = on    #开启慢查询 1 或者 on

long_query_time = 3   #记录超过的时间,单位是秒,默认是10s

slow_query_log_file = /data/mysql/dev-service-node2-slow.log  #指定日志文件存放位置,可以为空,系统会给一个缺省的文件host_name-slow.log

log_queries_not_using_indexes  = true 

#如果启用了慢查询日志,则此变量将控制那些不使用索引的查询是否应该被记录。如果进行记录,将使得日志文件迅速变得较大。

针对这个参数,在官方文档中还描述了一种比较特殊的情况:
This option does not necessarily mean that no index is used. For example, a query that uses
a full index scan uses an index but would be logged because the index would not limit the number of rows.

 

 

 

查询慢查询出现的次数;

show status like Slow_queries;

 

 

查看慢查询日志:

如果慢查询日志中的记录内容很多,可以使用mysqldumpslow工具,对慢查询日志进行分类汇总。
mysqldumpslow是mysql数据库自带的工具

执行:

mysqldumpslow -a -s t -t 7 /data/mysql/dev-service-node2-slow.log

 

这条命令会输出执行时间最长的7条sql语句。
这条命令中各个参数的意义:
-s, 是表示按照何种方式排序,c、t、l、r分别是按照语句query次数、query time、lock time、rows sent的总数来排序,
    at、al、ar则是以query time、lock time、rows sent的平均值来排序;
-t, 是top n的意思,即返回排序在最前面的多少条sql语句。

-g ,后边可以写一个正则匹配模式,大小写不敏感的;

 

 

#mysqldumpslow -a -s t -t 7 /data/mysql/dev-service-node2-slow.log

#输出参数解释:

 

Count: 15831  Time=8.46s (133943s)  Lock=0.00s (7s)  Rows=578.3 (9154400)

Count: 此语句执行了15831次

Time :  8.46s 是该语句执行的平均时间(有的说是执行的最长时间) 。(133943s) 是该语句执行时间的总和

Lock:   即是lock time  等待锁的时间

Rows: 即是rows sent , 578.3 表示发送给客户端的行总数  。 (9154400) 表示扫描的行总数

mysql 5.6 设置慢查询

标签:

原文地址:http://www.cnblogs.com/pangguoping/p/5684088.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!