1.生成实验数据

使用sql蠕虫复制足够多的数据

insert into payment (name,amount,address) select name,amount,addrss from payment

2.慢日志查询设置

(1)开启慢查询日志

set global slow_query_log = on;
show variables like 'slow_query_log';

设置完毕后,查询是否开启

set global slow_query_log = on; 

(2)设置慢查询临界点

set long_query_time = 1;

(3)设置慢查询存储的方式

set globle log_output = file;

(4)查询慢查询的配置信息

show variables like '%quer%';

3.慢查询测试

(1)执行sql

select * from payment where payment_id<100000;

(2)查看日志

日志文件通过参数得知在/var/lib/mysql目录中

查看该日志文件

可以看到刚才插入数据的sql和查询sql都被记录起来了,且sql执行时间都超过了1s

字段 说明
Query_time SQL的查询时间
Lock_time 锁定时间
Rows_sent 所发送的行数
Rows_examined 锁扫描的行数
SET timestamp=1565697747 sql执行时间
select * from payment sql执行语句

4.慢查询日志分析工具

(1)mysqldumpslow

显示出慢查询日志中最慢的10条sql
mysqldumpslow -t 10 /var/lib/mysql/iz2ze6p8tou7n39ta90oziz-slow.log

注意:在mysql数据库所在的服务器上,而不是在mysql>命令行中

(2)pt-query-digest

快速安装

wget https://www.percona.com/downloads/percona-toolkit/2.2.16/RPM/percona-toolkit-2.2.16-1.noarch.rpm && yum localinstall -y  percona-toolkit-2.2.16-1.noarch.rpm

查看服务器信息

pt-summary

查看磁盘开销使用信息

pt-diskstats

查看mysql数据库信息

pt-mysql-summary --user=root --password=root

分析慢查询日志

pt-query-digest /var/lib/mysql/iz2ze6p8tou7n39ta90oziz-slow.log

查找mysql的从库和同步状态

pt-slave-find --host=localhost --user=root --password=root

查看mysql的死锁信息

pt-deadlock-logger --user=root --password=root localhost

从慢查询日志中分析索引使用情况

pt-index-usage slow_20131009.log

查找数据库表中重复的索引

pt-duplicate-key-checker --host=localhost --user=root --password=root

查看mysql表和文件的当前活动IO开销

pt-ioprofile

pt-find查找数据库里大于2G的表:

pt-find --user=root --password=root --tablesize +2G

5.如何分析

(1)查询次数多且每次查询占用时间长的sql

通常为pt-query-digest分析的前几个查询;该工具可以很清楚的看出每个SQL执行的次数及百分比等信息,执行的次数多,占比比较大的SQL

(2)IO大的sql

注意pt-query-digest分析中的Rows examine项。扫描的行数越多,IO越大。

(3)未命中的索引的SQL

注意pt-query-digest分析中的Rows examine (扫描行数)和Rows Sent(发送行数)的对比。如果扫描行数远远大于发送行数,说明该SQL的索引命中率不高,对于这种SQL,我们要重点进行关注。

mysql慢查询分析相关推荐

  1. mysql慢查询分析工具和分析方法

    1.mysql慢查询分析工具 1.参考文档: http://www.ttlsa.com/mysql/analyse-slow-query-log-using-anemometer/ http://is ...

  2. 用MySql的查询分析语法explain来优化查询和索引

    http://hi.baidu.com/wtnzone/item/beb83840a4971af4dd0f6c77 数据库最常见的操作就是查询了,我们经常要用"SELECT"语法对 ...

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

    Mysql慢查询开启 Mysql的查询讯日志是Mysql提供的一种日志记录,它用来记录在Mysql中响应时间超过阈值的语句,具体指运行时间超过long_query_time值得SQL,则会被记录到慢查 ...

  4. MySQL慢查询分析和性能优化

    1 背景 我们的业务服务随着功能规模扩大,用户量扩增,流量的不断的增长,经常会遇到一个问题,就是数据存储服务响应变慢. 导致数据库服务变慢的诱因很多,而RD最重要的工作之一就是找到问题并解决问题. 下 ...

  5. mysql的查询分析工具下载_万能数据库查询分析器(ODBC数据库查询分析工具)V7.03 最新版...

    万能数据库查询分析器(ODBC数据库查询分析工具)是一款功能强大,性能良好的数据库查询辅助工具,对开发人员来说是一款省时省力的数据库分析工具. 功能特点: 可以通过它查询ODBC数据源(包括世面上所有 ...

  6. mysql慢查询分析工具_mysql慢查询日志分析工具

    启用 slow log 有两种启用方式:1, 在my.cnf 里 通过 log-slow-queries[=file_name] 2, 在mysqld进程启动时,指定--log-slow-querie ...

  7. MySQL慢查询分析方法

    MySQL5.0以上的版本可以支持将执行比较慢的SQL语句记录下来. MySQL> show variables like 'long%'; 注:这个long_query_time是用来定义慢于 ...

  8. mysql 分页查询分析_mysql 大表分页查询测试分析优化

    http://blog.csdn.net/xluren/article/details/32746183 http://www.cnblogs.com/kupig/archive/2011/10/19 ...

  9. 分析mysql慢查询_mysql慢查询的分析方法_MySQL

    本文主要介绍的是MySQL慢查询分析方法,前一段日子,我曾经设置了一次记录在MySQL数据库中对慢于1秒钟的SQL语句进行查询.想起来有几个十分设置的方法,有几个参数的名称死活回忆不起来了,于是重新整 ...

最新文章

  1. html 跳转或打开新网页
  2. cannot import name '_imaging' from 'PIL'
  3. windows下使用Python出现No module named tkinter.ttk
  4. java robot 对象_用Java Robot对象实现服务器屏幕远程监视
  5. ICLR 2020 | “同步平均教学”框架为无监督学习提供更鲁棒的伪标签
  6. mysql错误:file xxx conflicts with file from package mysql-libs-5.5.68-1.el7.x86_64
  7. .NET Core 3.0中用 Code-First 方式创建 gRPC 服务与客户端
  8. JavaWeb基础(jsp初识)
  9. java判_java中判空
  10. 解决谷歌浏览器所有页面崩溃问题
  11. php报错提醒,php报错问题
  12. 【opencv】图像处理之伽马变换
  13. TrustBase团队完成subscript语言的Web3基金会Grant资助计划项目交付
  14. AWS知识图谱大赛 -- 负面新闻影响股票基金预测系统架构设计文档
  15. 项目配置管理工具研究
  16. 音乐flac怎么转为mp3?
  17. win10忘记redis密码
  18. 计算机桌面图标损坏,损坏的图像,教您提示损坏的图像该怎么解决
  19. “江湖笑”-献给怀有梦想的北漂一族
  20. delta函数的简化

热门文章

  1. C++(九)——职工信息管理系统
  2. 2021中青杯数学建模C题 在线教学的分析与研究
  3. 02-缓存一致性---实现big.LITTLE、GPU 计算和企业应用
  4. html属性应用实例,HTML5 contenteditable属性使用示例
  5. 【攻防世界020】easyRE1
  6. printf()详解
  7. 进程调度算法Java代码
  8. 014 怪物过滤的设计和实现
  9. 【Rsyslog】facilty priority
  10. 项目: 用C语言写一个图形化的音乐播放器 【C++ / C】