zoukankan      html  css  js  c++  java
  • Mysqldumpslow的用法汇总

    mysqldumpslow --help可显示其参数的使用

    经常使用的参数:

    -s,是order的顺序

    al   平均锁定时间

    ar   平均返回记录时间

    at   平均查询时间(默认)

    c    计数

    l    锁定时间

    r    返回记录

    t    查询时间


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

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

    例子:

    mysqldumpslow -t 10 -s t -g “left join” host-slow.log

    使用mysqldumpslow的分析结果不会显示具体完整的sql语句,说明:


    1:假如真正的sql语句如下:

    SELECT * FROM sms_send WHERE service_id=10 GROUP BY content LIMIT 0, 1000;

     

    mysqldumpslow显示的结果会是:

    Count: 1  Time=1.91s (1s)  Lock=0.00s (0s)  Rows=1000.0 (1000), vgos_dba[vgos_dba]@[10.130.229.196]
    SELECT * FROM sms_send WHERE service_id=N GROUP BY content LIMIT N, N;

     

    2:如果我们再执行一条

    SELECT * FROM sms_send WHERE service_id=20 GROUP BY content LIMIT 10000, 1000;


    mysqldumpslow显示的结果会是:

    Count: 2  Time=2.79s (5s)  Lock=0.00s (0s)  Rows=1.0 (2), vgos_dba[vgos_dba]@[10.130.229.196]

    SELECT * FROM sms_send WHERE service_id=N GROUP BY content LIMIT N, N;

     

    虽然这两条语句条件不一样,

    1:一个是server_id=10,一个是server_id=20

    2:一个是LIMIT 0, 1000,一个是LIMIT 10000, 1000

    但是mysqldumpslow分析会认为这是一种类型的语句,会合并显示。

     

    3:假设我们执行

    SELECT * FROM sms_send WHERE service_id<=10 GROUP BY content LIMIT 0, 1000;


    执行mysqldumpslow结果是

    Count: 1  Time=2.91s (2s)  Lock=0.00s (0s)  Rows=1000.0 (1000), vgos_dba[vgos_dba]@[10.130.229.196]

    SELECT * FROM sms_send WHERE service_id<=N GROUP BY content LIMIT N, N;


    可以看出它和上面我们写的sql语句是两种类型

    mysqldumpslow的分析结果

    Count会告诉我们这种类型的语句执行了几次

    Time会告诉我们这种类型的语句执行的最大时间

    Time=2.79s (5s)中(5s)是指这类型的语句执行总共花费的时间

    例:

    Count: 2  Time=2.79s (5s)  Lock=0.00s (0s)  Rows=1.0 (2), vgos_dba[vgos_dba]@[10.130.229.196]

     

    告诉我们执行了2

    最大时间是2.79s

    总共花费时间5s

    lock时间0s

    单次返回的结果数是1条记录

    2次总共返回2条记录


    mysqldumpslow -s t -t 10 slow.log

    查询的结果是10条执行时间最慢的sql语句,其中-s t是指此类类型的语句的执

    行总时长


    Count: 1  Time=2.91s (2s)  Lock=0.00s (0s)  Rows=1000.0 (1000), vgos_dba[vgos_dba]@[10.130.229.196]


    Count: 2  Time=2.79s (5s)  Lock=0.00s (0s)  Rows=1.0 (2), vgos_dba[vgos_dba]@[10.130.229.196]

    比较的结果是

    Count: 2  Time=2.79s (5s)  Lock=0.00s (0s)  Rows=1.0 (2), vgos_dba[vgos_dba]@[10.130.229.196]

    排在前面,因为比较的时长是(5s)(2s),而不是2.79s2.91s


    -s at比较的也是(5s)/count:2(2s)/Count: 1

    所以:-s at

    Count: 1  Time=2.91s (2s)  Lock=0.00s (0s)  Rows=1000.0 (1000), vgos_dba[vgos_dba]@[10.130.229.196]

    排在前面。

     

     Rows=1.0 (2) 是按照以下逻辑展示的

    2)是指在Count: 2次数总共返回了2条记录集;row=1.0显示(2/Count: 2

    如果此时Count3,那么row的计算方式是Rows=2/3,Rows=0.67

     

    主要功能是统计不同慢sql的出现次数(Count),执行最长时间(Time),累计总耗费时间(Time),等待锁的时间(Lock),发送给客户端的行总数(Rows),扫描的行总数(Rows)

  • 相关阅读:
    Systemd 入门教程:实战篇
    Systemd 入门教程:命令篇
    awk详解
    yum Multilib version problems
    Oracle ORA 12541 报错解决过程
    创建表空间
    大文件按行分离脚本
    heartbeat安装与配置
    Keepalived安装配置
    速查表的名称和建表语句
  • 原文地址:https://www.cnblogs.com/moss_tan_jun/p/6603766.html
Copyright © 2011-2022 走看看