一、前言

这篇博客是之前总结的一个知识点,也是偶然看别人博客的时候发现的这个东东,,也算是解析sql语句性能的利器吧,记录一哈。
      Query ProfilerMYSQL自带的一种query诊断分析工具,通过它可以分析出一条SQL语句的性能瓶颈在什么地方。通常我们是使用的explain,以及slow query log都无法做到精确分析,但是Query Profiler却可以定位出一条SQL语句执行的各种资源消耗情况,比如CPU,IO等,以及该SQL执行所耗费的时间等。不过该工具只有在MYSQL 5.0.37以及以上版本中才有实现。

这个工具比explain更加详细,侧重点也在语句的资源消耗上,还会给出一些异常参数。和mysql的查询优化器侧重的点不一样,但是如果把这三个工具结合起来分析sql,那可真是太赞了。(PS:一般是想不起来三个一起用的,哈哈)

explain: MySQL的性能分析关键字,explain,及其返回值代表的意思

查询优化器: mysql的优化器执行过程(附代码解析,手动注释等)

二、正文

1、开启

     show variables like '%profil%';   解释:这种方式是查看自己版本的是否开启了Profile, profiling=on是开启了这个profile功能,show profiles;       解释:Empty set (0.00 sec)显示为空,说明profiles功能是关闭的。下面开启SET profiling = 1;  解释:打开profilesselect xx; #查询语句    解释:执行sqlshow profiles;   解释:此时里面会有id,还有query,query是咱们刚才执行的sqlshow profile all for query 1; # 1为上一步得到的id,查看详细信息

2、查看

show profile all for query id;

直接看的话,太杂乱了,可以考虑使用show profile all for query 1 \G; 这样看起来方便,可以参考:
https://blog.csdn.net/LJFPHP/article/details/87873280

3、主要参数解析

这个工具的异常参数很多,而且网上大佬总结的很到位,这边直接看大佬的博客吧,记录下。

参考:[MySQL FAQ]系列 — processlist中哪些状态要引起关注
http://imysql.com/2015/06/10/mysql-faq-processlist-thread-states.shtml

这篇博客顺便把各个参数异常的解决方案给出了,大家可以看一下

4、新的查看方式

还有一种说法:在MySQL5.7中, show profile 命令已经开始不推荐使用,MySQL使用performance_schema 中系统表的信息来替代show profile命令。链接:https://www.cnblogs.com/wy123/p/6979499.html

这里虽然过时了,但是博主测试下,mysql5.7还是支持show profiles这种用法。而且就算用新的系统表来查看,得出的参数也是差不多的,甚至没有show profiles全面。相同参数的含义相同。

end

比explain更加详细的分析计划:Query Profiler相关推荐

  1. php mysql explain_Mysql分析-explain的详细介绍

    为什么要了解explain: 想了解select查询的内部情况,查询优化器是如何工作的,是否使用到了索引,explain可以做到. MySQL查询优化器是如何工作的 : MySQL查询优化器有几个目标 ...

  2. mysql查看执行计划_MySql中如何使用 explain 查询 SQL 的执行计划

    explain命令是查看查询优化器如何决定执行查询的主要方法. 这个功能有局限性,并不总会说出真相,但它的输出是可以获取的最好信息,值得花时间去了解,因为可以学习到查询是如何执行的. 1.什么是MyS ...

  3. explain如何查看mysql_MySql中如何使用 explain 查询 SQL 的执行计划

    explain命令是查看查询优化器如何决定执行查询的主要方法. 这个功能有局限性,并不总会说出真相,但它的输出是可以获取的最好信息,值得花时间去了解,因为可以学习到查询是如何执行的. 1.什么是MyS ...

  4. mysql之explain详解(分析索引的最佳使用)

    在这里对explain的各个字段进行详细的分析,来帮助大家分析自己所写的sql是否最佳的使用了索引. 首先是select_type:将select查询分为简单(simple)和复杂两种类型 复杂类型又 ...

  5. [MySQL高级](一) EXPLAIN用法和结果分析

    转载: https://blog.csdn.net/why15732625998/article/details/80388236 1. EXPLAIN简介 使用EXPLAIN关键字可以模拟优化器执行 ...

  6. 定向士官计算机网络技术在部队干什么,定向士官、直招士官、义务兵入伍详细对比分析!一文看懂区别!...

    原标题:定向士官.直招士官.义务兵入伍详细对比分析!一文看懂区别! 近日,新浪山东教育频道从山东信息职业技术学院招办了解到,山东信息职业技术学院2019年定向培养士官招生专业.计划和范围权威发布. 2 ...

  7. mysql之explain详解(分析索引最佳使用)

    mysql之explain详解(分析索引最佳使用) mysql explain用于分析sql 语句的执行及数据库索引的使用.本文将致力于帮助大家充分理解explain所返回的各项参数,从而使大家快速掌 ...

  8. mysql explain结果_MySQL EXPLAIN用法和结果分析

    MySQL   EXPLAIN用法和结果分析 1. EXPLAIN简介 使用EXPLAIN关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是如何处理你的SQL语句的.分析你的查询语句或是表结 ...

  9. EXPLAIN用法和结果分析

    1. EXPLAIN简介 使用EXPLAIN关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是如何处理你的SQL语句的.分析你的查询语句或是表结构的性能瓶颈. ➤ 通过EXPLAIN,我们可 ...

最新文章

  1. 【细无巨细,包你学会】自学Python运行时会遇到的异常与解决方法
  2. 点云关键算法详解及实战剖析正式开讲!(涉及分割、配准、关键点、识别、重建等)...
  3. iOS 绘制圆角矩形
  4. python 计算时间重叠_Python基于时间信息(即时、间隔)计算项目之间的相似性...
  5. SAP MM 盘点单中‘AUn’标记的作用?
  6. TestCenter中测试需求、测试用例、测试计划的评审方法
  7. copy与mutableCopy的区别总结
  8. android实现自动抢红包,Android手机辅助功能实现自动抢微信红包功能
  9. javascript中call apply的区别
  10. 关于出现Not an editor command: Bundle ‘**/*.vim‘的解决方案【转】
  11. 开源OA协同办公平台使用教程:O2OA集成WPS
  12. Java导出word模板
  13. codevs 1253 超级市场 DP 解题报告
  14. 视频切割(解决音视频不同步问题)
  15. 多因子融合的实体识别与链指消歧
  16. 手把手教你用熵值法计算权重
  17. 浏览器原理 20 # Chrome开发者工具:利用网络面板做性能分析
  18. 如何修改Android应用程序的图标和名字?
  19. 汇编语言的应用(用途)
  20. launch4j使用

热门文章

  1. with as 用法
  2. yolov5剪枝开源分享
  3. cmake找不到opencv解决
  4. c2065 未声明的标识符 解决ok
  5. python十六进制看图片
  6. OpenGL+VS2015+WIN10 demo
  7. 动词ing形式的5种用法_课后文档:英语语法思维第7课动词的5个形式的用法
  8. 前端学axios还是ajax,【Web前端问题】axios发送ajax请求问题?
  9. vins中imu融合_基于非线性优化算法—当视觉SLAM遇到VINS会碰撞出怎样的火花?
  10. android的百度地图sdk获取ip,基于百度地图API的ip地址查询