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

(三)MySQL调优之-慢查询日志

时间:2019-03-27 21:00:28      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:哪些   写入   ike   次数   响应   .net   mysql调优   show   慢查询   

慢查询日志

是什么?

1、MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。

2、具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。long_query_time的默认值为10,意思是运行10秒以上的语句。

3、由他来查看哪些SQL超出了我们的最大忍耐时间值,比如一条sql执行超过5秒钟,我们就算慢SQL,希望能收集超过5秒的sql,结合之前explain进行全面分析

如何使用慢查询日志?

默认情况下,MySQL数据库没有开启慢查询日志,需要我们手动来设置这个参数。

当然,如果不是调优需要的话,一般不建议启动该参数,因为开启慢查询日志会或多或少带来一定的性能影响。慢查询日志支持将日志记录写入文件

查看是否开启及如何开启

查看慢查询日志功能是否开启
SHOW VARIABLES LIKE '%slow_query_log%';

技术图片

日志的位置就是第二行的位置

开启功能
set global slow_query_log=1;

查看和设置阙值

查看
SHOW VARIABLES LIKE 'long_query_time%';

技术图片

阙值默认是10秒, 意思就是查询时间大于10秒的才算慢查询SQL

设置
set  long_query_time=1

测试

技术图片

查询当前系统中有多少条慢查询记录

show global status like '%Slow_queries%';

技术图片

日志分析工具MySQLdumpslow

查看MySQLdumpslow的帮助信息

mysqldumpslow --help

技术图片

s: 是表示按照何种方式排序
c: 访问次数
l: 锁定时间
r: 返回记录
t: 查询时间
al:平均锁定时间
ar:平均返回记录数
at:平均查询时间
-t:即为返回前面多少条的数据;
-g:后边搭配一个正则匹配模式,大小写不敏感的;

应用示例

得到返回记录集最多的10个SQL
mysqldumpslow -s r -t 10 /var/lib/mysql/atguigu-slow.log
 
得到访问次数最多的10个SQL
mysqldumpslow -s c -t 10 /var/lib/mysql/atguigu-slow.log

(三)MySQL调优之-慢查询日志

标签:哪些   写入   ike   次数   响应   .net   mysql调优   show   慢查询   

原文地址:https://www.cnblogs.com/chenyichen/p/10610569.html

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