作/译者:叶金荣(Email: ),来源:http://imysql.cn,转载请注明作/译者和出处,并且不能用于商业用途,违者必究。
原文出自:The new cool MySQL patch has landed! Check your queries performance!,本文做只部分翻译。
MySQL微秒慢查询(microtime slow query)补丁包具有以下特色:
  • 识别连接

    每个慢查询结果中都记录了是哪个连接线程引起的,如下:
    # Thread_id: 571
    
  • 微秒计数

    可以记录执行时间在1秒一下的慢查询,选项 long_query_time 的单位现在是微秒,而不是秒,例如设置成300000表示0.3秒。
    # Query_time: 0.021752  Lock_time: 0.000016  Rows_sent: 1  Rows_examined: 103
    
  • 记录复制产生的慢查询

    通常情况下,MySQL并不记录复制产生的慢查询,使用该补丁后,只需要打开选项 --log-slow-slave-statements 解决这一问题。
  • 详细的查询执行计划

    每次查询的执行计划都不一样。可能使用索引扫描,或者全表扫描,或者使用临时表。通常这些信息也能从 EXPLAIN 结果中得到。该补丁会在日志中显示了查询中最重要的几个方面,如下:
    1.  # QC_Hit: No  Full_scan: No  Full_join: No  Tmp_table: Yes  Tmp_table_on_disk: No
    2.  # Filesort: Yes  Filesort_on_disk: No  Merge_passes: 0
    
    QC_Hit 表示本次查询是否命中了查询缓存(Query Cache)。如果显示的是 0,则表示该查询并没有真正的执行。
    如果 Full_scan 的结果为 Yes 表示该查询比较糟糕,因为需要扫描全表。
    Full_join 表示联合查询时没有使用索引。
    如果需要创建临时表,则 Tmp_table 的结果为 Yes;如果需要创建基于磁盘的临时表而不是基于内存的,则 Disk_tmp_table 的值为 Yes
    如果用到 filesort 算法,则 Filesort 的值为 Yes,Filesort_on_disk 则表示排序是基于临时文件进行的。
  • InnoDB 的使用

    最后一部分是InnoDB使用结果的统计。MySQL现在允许运行 SHOW SESSION STATUS 来查看每个线程的统计信息,但是这并不包括InnoDB的使用,因为InnoDB部分而总是显示全局统计的结果。该补丁允许你查看每次查询的InnoDB资源使用情况。
    #   InnoDB_IO_r_ops: 3  InnoDB_IO_r_bytes: 49152  InnoDB_IO_r_wait: 0.018690
    #   InnoDB_rec_lock_wait: 0.000000  InnoDB_queue_wait: 0.000000
    #   InnoDB_pages_distinct: 7
    
    InnoDB_IO_r_ops 统计计划需要读取的页数。实际数量可能不太一样,虽然它可以异步完成,不幸的是并没有好办法来衡量它。它的单位是字节(bytes)。
    InnoDB_IO_r_wait 中可以看到 InnoDB 从存储引擎中读取数据锁等待的时间(单位是秒)。
    InnoDB_rec_lock_wait 表示等待行锁所需时间(单位是秒)。
    InnoDB_queue_wait 表示等待进入 InnoDB 队列或在队列中等待执行所消耗的时间(单位是秒)。
    InnoDB_pages_distinct 显示了读取的独立页个数。这只是基于用小哈希数组表示的整个缓冲池的近似值,因为有可能需要用很大的内存来映射所有页。同一个查询却产生不准确的读取页数量增长可能是发生了哈希冲撞的缘故。
    如果查询中没有用到InnoDB,则相关日志行变成下面这样,其他的不变:
    # No InnoDB statistics available for this query
    
注意:尽管该补丁已经做过压力测试,并且还在实际环境中使用过,但仍然建议不要在非常重要的系统中使用,万一出了问题,人家可不负责啊 :)
本文出自 “MySQL中文网”博客 http://www.imysql.cn/

转载于:https://blog.51cto.com/imysql/308840

MySQL 微秒慢查询补丁相关推荐

  1. mysql之慢查询详解,mysqldumpslow的使用

    简言 1. mysql中的慢查询是我们分析问题,定位问题的利器,巧妙使用可以快速解决问题 2. 原理:运行时间超过 long_query_time 的sql语句会被写入到慢查询日志文件中或者mysql ...

  2. Mysql 慢日志查询小于1000ms显示0s问题排查

    Mysql 慢日志查询<1000ms显示0s问题排查 在描述问题之前,先温习下Mysql 慢日志的知识. Mysql慢日志是Mysql用来记录统计执行耗时超过long_query_time 指标 ...

  3. 【php毕业设计】基于php+mysql的成绩查询系统设计与实现(毕业论文+程序源码)——成绩查询系统

    基于php+mysql的成绩查询系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于php+mysql的成绩查询系统设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦. 需要下载开题 ...

  4. 高性能MySQL学习——提高查询性能

    高性能MySQL学习--提高查询性能 提高查询性能 MySQL 查询优化器 MySQL 执行计划分析"三步曲" MySQL 执行计划查询分析 如何优化 SQL MySQL 自身优化 ...

  5. java查询mysql装载bean_jsp与javabean链接mysql数据库并查询数据表的简单实例源码

    jsp与javabean链接mysql数据库并查询数据表的简单实例源码.这个简单的实例是给新手学习的,或者一些高手临时忘记怎么使用jsp操作mysql数据库时候查找的,包括了建立mysql数据库连接的 ...

  6. mysql中模糊查询的四种用法介绍

    下面介绍mysql中模糊查询的四种用法: 1,%:表示任意0个或多个字符.可匹配任意类型和长度的字符,有些情况下若是中文,请使用两个百分号(%%)表示.  比如 SELECT * FROM [user ...

  7. mysql timestamp比较查询

    这篇文章主要介绍了mysql timestamp比较查询遇到的坑及解决方案,具有很好的参考价值,希望对大家有所帮助.如有错误或未考虑完全的地方,望不吝赐教 timestamp比较查询遇到的坑 记得之前 ...

  8. mysql开启慢查询日志

    应用背景: MySQL慢查询日志功能默认是关闭的,通过开启慢查询日志,可以让MySQL记录下查询超过指定时间的语句,再通过分析定位问题瓶颈,优化查询提高数据库系统的性能. 测试环境: centos7. ...

  9. Mysql中分页查询两个方法比较

    mysql中分页查询有两种方式, 一种是使用COUNT(*)的方式,具体代码如下 1 2 3 SELECT COUNT(*) FROM foo WHERE b = 1; SELECT a FROM f ...

最新文章

  1. SQL For Xml
  2. collection 源码
  3. 轻松实现远程批量拷贝文件脚本(女学生作品)
  4. boost::EccentricityProperty用法的测试程序
  5. 网络服务器预防dos***的层次
  6. 如何隐藏地址栏中的真实地址_Firefox推出Private Relay插件:可隐藏真实邮箱地址...
  7. 国服服务器_外服玩家热议LOL国服倒计时插件:说好的公平竞技呢?
  8. 基于python开发的口罩供需平台
  9. Eclipse 基于接口编程的时候,快速跳转到实现类的方法(图文)
  10. HihoCoder 1527 动态规划,贪心
  11. android 去广告浏览器,手机去广告浏览器Adblock Plus Browser
  12. impala hive随机抽样方法
  13. 到底哪一首才是唐诗第一?
  14. MISC:基本思路 · 常用命令
  15. 空气质量等级c语言编程,字节跳动2018秋招编程题——空气质量
  16. 计算机系统仿真缩写,仿真语言
  17. 2019阿里云峰会·北京 | 十年再出发
  18. R语言 trim=0.1 tirm=0.2 什么意思呢?
  19. 哪些道理是过了40岁之后才明白的?
  20. 软件开发过程培训总结

热门文章

  1. android 每个块半径不同的扇形图,自定义view
  2. 如何重构“箭头型”代码
  3. 对 makefile 中 .SECONDARY 的学习体会
  4. 配置springmvc在其他类中(spring容器外)获取注入bean
  5. 从头编写 asp.net core 2.0 web api 基础框架 (5) EF CRUD
  6. 最近对Allegro的几个总结
  7. struts.xml配置详解
  8. 美团App首页实现之Category_HeaderView可翻页实现
  9. 新年新技术:MongoDB 3.0
  10. Codeforces Round #104 (Div. 2) E DP(01背包模型) +组和+除法取模求逆元