Blogger Information
Blog 6
fans 0
comment 1
visits 4353
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
MySQL中慢查询日志的知识点整理
jaronHu的博客
Original
716 people have browsed it

当用户访问网站反应过慢时,我们通常会通过各种日志来查找慢的原因:nginx,php,mysql 对应的日志,那今天我们就来说一说mysql的慢日志。

第一步查看是否开启慢查询日志(我的已经开启了并提供了路径地址):

show variables like 'slow%';

1.png

接下来就是对日志进行分析了,看哪些sql语句过慢,找到之后再一一进行优化

第二步找到/data/mariadb/mysql-slow.log 并进行分析

mysqldumpslow -r -t 10 /root/mysql-slow.log;#查看top 10 运行最慢的 

03.png

上图是提供的例子

用到这里的时候,我们就会对慢日志进行分析了,哪个sql慢,就能找到原因了。

第三步想要分析就要知道以下两点:

1)mysqldumpslow命令对应的参数有哪些 如何使用

mysqldumpslow是mysql自带的用来分析慢查询的工具

经常使用几个命令

-s ORDER what to sort by (al, at, ar, c, l, r, t), ‘at' is default
-t NUM just show the top n queries
-g PATTERN grep: only consider stmts that include this string
-r Reverse the sort order
-s,是order的顺序,主要有

c,t,l,r和ac,at,al,ar,分别是按照query次数,查询时间,lock的时间和返回的记录数来排序,前面加了a的代表平均数
-t,是top n的意思,即为返回前面多少条的数据
-g,后边可以写一个正则匹配模式,大小写不敏感的

2)返回的结果中,都有哪些信息,分别代表什么意思

主要功能是, 统计不同慢sql的
出现次数(Count),
执行最长时间(Time),
累计总耗费时间(Time),
等待锁的时间(Lock),
发送给客户端的行总数(Rows),
扫描的行总数(Rows),
用户以及sql语句本身(抽象了一下格式, 比如 limit 1, 20 用 limit N,N 表示).

以上就是我对mysql 慢日志的使用和了解,希望对您有帮助,欢迎补充。我是jaron,php程序员一枚。

Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post