[root@hank-yoon log]# pt-query-digest slowq.log

# 200ms user time, 10ms system time, 24.39M rss, 205.12M vsz
# Current date: Thu Dec 17 15:32:04 2015
# Hostname: hank-yoon.com
# Files: slowq.log
# Overall: 8 total, 2 unique, 0.00 QPS, 0.00x concurrency ________________
# Time range: 2015-12-17 05:00:09 to 15:30:01
# Attribute          total     min     max     avg     95%  stddev  median
# ============     ======= ======= ======= ======= ======= ======= =======
# Exec time            15s      1s      7s      2s      7s      2s      1s
# Lock time            1ms    85us   251us   175us   247us    49us   194us
# Rows sent        213.24k       4 213.21k  26.65k 211.82k  70.05k    3.89
# Rows examine       2.40M 213.21k 320.55k 306.93k 312.96k  33.45k 312.96k
# Rows affecte           0       0       0       0       0       0       0
# Bytes sent        19.42M   1.44k  19.41M   2.43M  19.33M   6.39M   1.39k
# Query size         6.46k     768     836  827.50  833.10   25.62  833.10

1、Overall: 8 total  总共查询8条
2、2 unique:  唯一查询数量,对查询条件过滤后,总共有多少个不同的查询,一共有2个
3、Time range: 2015-12-17 05:00:09 to 15:30:01    时间范围,从几点开始到几点的查询
4、total:总计    min:最小  max:最大   avg:平均   95%:将所有值从小到大排列,位于95%的那个数   
   stddev:标准偏差   median:中位数,位置位于中间那个数
5、Exec time:执行时间
6、Lock time:锁时间
7、Rows sent:最后返回给客户端的行数,查询大小
8、Rows affecte:发送改变的行数
9、Rows examine:执行器需要检查的行数大小
10、Query size:查询语句的字符数

# Profile
# Rank Query ID           Response time Calls R/Call V/M   Item
# ==== ================== ============= ===== ====== ===== ===============
#    1 0x50EF20421A671146  7.4117 50.7%     7 1.0588  0.00 SELECT erp_order erp_order_option wms_order_sync jx_region
#    2 0x9B9DD48242D6C02D  7.2176 49.3%     1 7.2176  0.00 SELECT jx_erp_goods_ware

1、Rank:整个分析中语句排名,性能最差的
2、Response time:语句响应时间及整体占比情况
3、Calls:执行次数
4、R/Call:每次执行的平均响应时间
5、V/M:响应时间的差异平均对比率

# Query 1: 0.00 QPS,      --QPS:每秒查询数
0.00x concurrency,        --concurrency:该查询的近似并发值
ID 0x50EF20421A671146     --16进制查询的指纹,去掉了多余的空格和文本字符,转换成小写,使用--filter可以进行过滤
at byte 5592              --查询语句在日志文件中的偏移量,不一定精确,根据偏移量在日志文件中查询tail -c +5592 slowq.log |head
# This item is included in the report because it matches --limit.
# Scores: V/M = 0.00
# Time range: 2015-12-17 05:24:01 to 15:30:01
# Attribute    pct   total     min     max     avg     95%  stddev  median
--PCT:指的是执行语句占概要报告中的百分比,占有87%,一共执行了7次
# ============ === ======= ======= ======= ======= ======= ======= =======
# Count         87       7
# Exec time     50      7s      1s      1s      1s      1s    35ms      1s
# Lock time     93     1ms   142us   251us   188us   247us    38us   185us
# Rows sent      0      28       4       4       4       4       0       4
# Rows examine  91   2.19M 320.15k 320.55k 320.32k 312.96k       0 312.96k
# Rows affecte   0       0       0       0       0       0       0       0
# Bytes sent     0  10.10k   1.44k   1.44k   1.44k   1.44k       0   1.44k
# Query size    88   5.71k     836     836     836     836       0     836
# String:
# Databases    yoon        --数据库名
# Hosts
# Last errno   0
# Users        zhu_yoon    --执行语句用户
# Query_time distribution
#   1us
#  10us
# 100us
#   1ms
#  10ms
# 100ms
#    1s  ################################################################
#  10s+
# Tables
#    SHOW TABLE STATUS FROM `yoon` LIKE 'erp_order'\G
#    SHOW CREATE TABLE `yoon`.`erp_order`\G
#    SHOW TABLE STATUS FROM `yoon` LIKE 'erp_order_option'\G
#    SHOW CREATE TABLE `yoon`.`erp_order_option`\G
#    SHOW TABLE STATUS FROM `yoon` LIKE 'wms_order_sync'\G
#    SHOW CREATE TABLE `yoon`.`wms_order_sync`\G
#    SHOW TABLE STATUS FROM `yoon` LIKE 'jx_region'\G
#    SHOW CREATE TABLE `yoon`.`jx_region`\G
# EXPLAIN /*!50100 PARTITIONS*/
SELECT eo.pay_status,(CASE WHEN eo.order_amount >0 THEN (eo.order_amount- eo.platform_discount) ELSE eo.order_amount END) codValue,eo.invoice_no,eo.consignee realName,eo.tel phone,eo.mobile,eo.zipcode postCode,eoo.auto_weight totalWeight,eoo.packages totalNumber,
jrp.region_name province,jrc.region_name city,IFNULL(jrd.region_name,eo.district_name)  county,eo.address address,eo.order_id OrderId
FROM erp_order eo 
JOIN erp_order_option eoo ON eo.order_id=eoo.order_id
JOIN wms_order_sync wos ON wos.OrderId=eo.order_id
LEFT JOIN jx_region jrp ON jrp.region_id=eo.province_id
LEFT JOIN jx_region jrc ON jrc.region_id=eo.city_id
LEFT JOIN jx_region jrd ON jrd.region_id=eo.district_id WHERE wos.IsValid=0 AND wos.DealFlag=0 
and eo.ware_id=5 
 AND eo.shipping_id=93 
 GROUP BY eo.order_id  ORDER BY eoo.sendtime DESC LIMIT 20\G

(1)直接分析慢查询文件:
pt-query-digest  slowq.log > slow_report.log

(2)分析最近12小时内的查询:
pt-query-digest  --since=12h  slowq.log > slow_report.log

(3)分析指定时间范围内的查询:
pt-query-digest slowq.log --since '2015-04-17 09:30:00' --until '2015-04-17 10:00:00'> > slow_report.log

(4)分析指含有select语句的慢查询
pt-query-digest--filter '$event->{fingerprint} =~ m/^select/i' slowq.log> slow_report.log

(5) 针对某个用户的慢查询
pt-query-digest--filter '($event->{user} || "") =~ m/^root/i' slowq.log> slow_report.log

(6) 查询所有所有的全表扫描或full join的慢查询
pt-query-digest--filter '(($event->{Full_scan} || "") eq "yes") ||(($event->{Full_join} || "") eq "yes")' slowq.log > slow_report.log

(7)把查询保存到query_review表
pt-query-digest  --user=root --password=abc123 --review  h=localhost,D=test,t=query_review--create-review-table  slowq.log

(8)把查询保存到query_history表
pt-query-digest  --user=root --password=abc123 --review  h=localhost,D=test,t=query_ history--create-review-table  slowq.log
pt-query-digest  --user=root --password=abc123--review  h=localhost,D=test,t=query_history--create-review-table  slowq.log

(9)通过tcpdump抓取mysql的tcp协议数据,然后再分析
tcpdump -s 65535 -x -nn -q -tttt -i any -c 1000 port 3306 > mysql.txt
pt-query-digest --type tcpdump mysql.txt> slow_report.log

(10)分析binlog
mysqlbinlog mysql-bin.000077 > mysql-bin000077.sql
pt-query-digest  --type=binlog  mysql-bin000077.sql > slow_report.log

(11)分析general log
pt-query-digest  --type=genlog  localhost.log > slow_report.log

pt-query-digest分析mysql查询日志的更多相关文章

  1. mysqldumpslow 分析slow query日志和explain分析mysql查询结构

    mysqldumpslow的使用:比如我们要查询按时间返回前5条日志信息,格式如下:mysqldumpslow -s t -t 5 /var/log/mysql/slowquery_20180303. ...

  2. python 分析慢查询日志生成报告

    python分析Mysql慢查询.通过Python调用开源分析工具pt-query-digest生成json结果,Python脚本解析json生成html报告. #!/usr/bin/env pyth ...

  3. 0613pt-query-digest分析慢查询日志

    转自http://www.jb51.net/article/107698.htm 这篇文章主要介绍了关于MySQL慢查询之pt-query-digest分析慢查询日志的相关资料,文中介绍的非常详细,对 ...

  4. MySQL查询日志总结

    MySQL查询日志介绍 MySQL的查询日志记录了所有MySQL数据库请求的信息.无论这些请求是否得到了正确的执行.默认文件名为hostname.log.默认情况下MySQL查询日志是关闭的.生产环境 ...

  5. MySQL查询日志介绍

    MySQL查询日志介绍 MySQL的查询日志记录了所有MySQL数据库请求的信息.无论这些请求是否得到了正确的执行.默认文件名为hostname.log.默认情况下MySQL查询日志是关闭的.生产环境 ...

  6. Mysql系列(十一)—— 性能分析慢查询日志

    转载自:http://www.cnblogs.com/kerrycode/p/5593204.html 慢查询日志概念 MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响 ...

  7. MySQL之pt-query-digest分析慢查询日志的详情介绍

    一.简介 pt-query-digest是用于分析mysql慢查询的一个工具,它可以分析binlog.General log.slowlog,也可以通过SHOWPROCESSLIST或者通过tcpdu ...

  8. 详细分析MySQL的日志(一)

    官方手册:https://dev.mysql.com/doc/refman/5.7/en/server-logs.html 不管是哪个数据库产品,一定会有日志文件.在MariaDB/MySQL中,主要 ...

  9. pt-query-digest怎么分析慢查询日志分析数据

    在进行使用linux系统作为服务器的情况,那几需要进行对linux的服务器进行性能上数据进行抓取之后,就需要对数据中内容进行分析,看数据库中内容是否存在瓶颈上的问题,在进行获取到的数据的慢查日志,将使 ...

随机推荐

  1. Jax-ws开发实例

    初次接触Jax-ws(Java API xml web Service)感觉挺简单的,在这里写下我的所学的: 大概的顺序是:首先定义接口 ,然后写接口的实现类,最后编写客户端.步骤是挺简单的,来看看代 ...

  2. 精通C#(第6版)

    <精通C#(第6版)> 基本信息 原书名:Pro C# 5.0 and the .NET 4.5 framework,sixth edition 作者: (美)Andrew Troelse ...

  3. 转: React系统的入门系统

    评注:React系统的入门系统. 转:  http://www.infoq.com/cn/search.action?queryString=%E6%B7%B1%E5%85%A5%E6%B5%85%E ...

  4. Laravel-Administrator enum使用数字key

    参考连接:Enum filter with numeric values 修改Fields\Enum::build()方法 $options['options'][] = array( 'id' =& ...

  5. jQuery.Hotkeys - lets you watch for keyboard events anywhere in your code supporting almost any key combination

    About jQuery Hotkeys is a plug-in that lets you easily add and remove handlers for keyboard events a ...

  6. MVC 下 使用MvcPager分页控件

    先去下载 mvcpage http://mvcpager.codeplex.com/releases/view/64098只需要一个 MvcPager.dll文件即可 然后引用MvcPager.dll ...

  7. 怎么手写Ajax实现异步刷新

    所谓的异步刷新,就是不刷新整个网页进行更新数据. 只有通过js才能实现Ajax,进而实行异步刷新 表单提交数据和Ajax提交数据的区别:表单提交是提交的整个页面中的数据,提交数据之后会抛弃之前的页面( ...

  8. Android webkit 事件传递流程详解

    前言:基于android webview 上定制自己使用的可移植浏览器apk,遇到好多按键处理的问题.所以索性研究了一下keyevent 事件的传递流程. frameworks 层 keyevent ...

  9. Oracle 联合主键

    alter table NCJSYD add constraints NCJSYD_pk primary key (YR,DQ);

  10. Cocos2d-JS中JavaScript继承

    JavaScript语言本身没有提供类,没有其它语言的类继承机制,它的继承是通过对象的原型实现的,但这不能满足Cocos2d-JS引擎的要求.由于Cocos2d-JS引擎是从Cocos2d-x演变而来 ...