loading...

MySQL慢查询分析mysqldumpslow

发布时间:September 24, 2009 分类:MySQL

MyISAM和InnoDB的一些记录

MySQL Show命令的使用

一直以来积累了很多对MySQL优化的心得和经验,计划通过写日志的方式一步一步写出来分享给大家。

MySQL优化的第一步应该做的就是排查问题,找出瓶颈,而通常情况下的瓶颈和问题都需要通过观察MySQL的运行情况来进行分析,《查看MySQL运行状况》这篇文章罗列了一些常用的查看MySQL运行信息的方式。

而对于大多数的程序员来说,最容易发现并解决的问题就是MySQL的慢查询或者没有利用索引的查询,所以这里主要给大家介绍如何利用官方的mysqldumpslow工具方便的查看这些信息。如何打开MySQL的慢查询,请点击《打开MySQL的慢查询记录》。

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条里面含有左连接的查询语句。

小结
使用mysqldumpslow命令可以非常明确的得到各种我们需要的查询语句,对MySQL查询语句的监控、分析、优化是MySQL优化的第一步,也是非常重要的一步。

Tags: MySQL优化, 分析


已有 12 条评论 »

  1. luckydog luckydog

    很专业的术语,消灭零回复!

  2. 媳妇 媳妇

    啥时候更新啦,终于看到第一篇不再是蛙泳教学了
    不过我也终于通过那篇日志知道我第一次游泳的时候为啥同事笑我了
    因为我的手脚是一起动的。。。。

  3. 开源吧 开源吧

    博主好,开源吧申请贵站友情链接
    http://www.kaiyuanba.cn
    找了半天没找到贵站联系方式,有意向的话请发email吧
    我的email:kaiyuanba@163.com

    1. kimi kimi

      @开源吧, 我回复一下你应该就能收到邮件了吧 :)

  4. 朔果 朔果

    ac、at、al、ar,表示相应的倒叙;//这句话错了吧!!!、
    这是我help出来的东西:
    al: average lock time
    ar: average rows sent
    at: average query time
    倒序是这个:
    -r reverse the sort order (largest last instead of first)

    你的文档写的不错 很多人看的。所以纠正下 别误人了。。。

    1. tarking tarking

      是有问题的,应该是对应的平均值,不是什么倒叙。

  5. prestashop 模板 prestashop 模板

    请问mysqldumpslow 在phpmyadmin中 为什么用不起来呢?

  6. prestashop 模板 prestashop 模板

    像我的博客http://www.myusbkey.net/做prestashop模板的,都不知道怎么用mysqldumpslow分析。。求助

  7. prestashop 模板 prestashop 模板

    prestashop 插件这样的站 还可以优化么?

  8. Yupiao Yupiao

    慢查询会造成死锁

  9. 谦谦君子 谦谦君子

    al: average lock time a表示的是平均,而不是倒序!可以看mysqldumpslow --help

  10. 下雨看世界 下雨看世界

    谢谢楼主的分享,已经收藏您的网站

添加新评论 »

captcha
请输入验证码