MYSQL分析慢查询

Posted 宇宙神奇

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MYSQL分析慢查询相关的知识,希望对你有一定的参考价值。

mysql慢查询的日志文件路径一般为: /var/lib/mysql/slowquery.log,具体的路径可以通过mysql配置文件(/etc/my.cnf)查询,slow_query_log_file = /var/lib/mysql/slowquery.log

日志文件数据一般都会很多,如果逐行查看的话,会很费时费力,针对此问题,mysql提供了一个命令可以归纳慢查询日志数据,并可以按SQL执行的秒数等排序。

 

mysqldumpslow -r -t 100 temp.log > slow.txt

 

mysqldumpslow命令

/path/mysqldumpslow -s c -t 10 /database/mysql/slow-log
这会输出记录次数最多的10条SQL语句,其中:

  • -s, 是表示按照何种方式排序,c、t、l、r分别是按照记录次数、时间、查询时间、返回的记录数来排序,ac、at、al、ar,表示相应的倒叙;
  • -t, 是top n的意思,即为返回前面多少条的数据;
  • -g, 后边可以写一个正则匹配模式,大小写不敏感的;

比如
/path/mysqldumpslow -s r -t 10 /database/mysql/slow-log
得到返回记录集最多的10个查询。
/path/mysqldumpslow -s t -t 10 -g “left join” /database/mysql/slow-log
得到按照时间排序的前10条里面含有左连接的查询语句。







以上是关于MYSQL分析慢查询的主要内容,如果未能解决你的问题,请参考以下文章

MySQL慢查询 - pt-query-digest详解慢查询日志 pt-query-digest 慢日志分析

Mysql优化_慢查询开启说明及Mysql慢查询分析工具mysqldumpslow用法讲解

MySQL性能分析案例-慢查询

慢查询分析

linux下开启mysql慢查询,分析查询语句

mysqlsla 分析mysql慢查询日志