网站首页 文章专栏 慢查询日志分析

慢查询日志分析

编辑时间:2019-04-12 15:23:14 作者:苹果 浏览量:1880


    前言: 在实际生产环境中,如果要手工分析日志,查找、分析SQL,显然是个体力活,MySQL提供了日志分析工具mysqldumpslow


日志分析工具mysqldumpslow


查看mysqldumpslow的帮助信息:

 mysqldumpslow --help

-s, 是表示按照何种方式排序

    c: 访问计数

 

    l: 锁定时间

 

    r: 返回记录

 

    t: 查询时间

 

    al:平均锁定时间

 

    ar:平均返回记录数

 

    at:平均查询时间

 

-t, 是top n的意思,即为返回前面多少条的数据;

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

 

比如:

得到返回记录集最多的10个SQL。

mysqldumpslow -s r -t 10 /database/mysql/mysql06_slow.log

 

得到访问次数最多的10个SQL

mysqldumpslow -s c -t 10 /database/mysql/mysql06_slow.log

 

得到按照时间排序的前10条里面含有左连接的查询语句。

mysqldumpslow -s t -t 10 -g “left join” /database/mysql/mysql06_slow.log

 

另外建议在使用这些命令时结合 | 和more 使用 ,否则有可能出现刷屏的情况。

mysqldumpslow -s r -t 20 /mysqldata/mysql/mysql06-slow.log | more

   

搭配上定时任务,对昨日的慢查询进行分析,分析出最费时间的,前100条语句


mysqldumpslow  -s t -t 100  ${MYSQL_DATA}/${old_day}.log >> ${RESULT}/${old_day}_100.txt


    出自:何冰华个人网站

    地址:https://www.hebinghua.com/

    转载请注明出处


来说两句吧
最新评论