SHOW PROFILE 是MySQL提供可以用来分析当前会话语句执行的资源消耗情况,可以用于SQL 的调优测评依据。在默认的情况下,参数处于关闭状态,并保存着最近15 次的运行结果。

我们可以通过 SHOW VARIABLES LIKE ‘PROFILING’; 命令查看参数的开关情况;通过 SET PROFILING = ON; 命令设置开启状态。

我们看看当我们执行SHOW PROFIES; 会查询到些什么?

Query_ID    Duration    Query
152         0.0012655   SHOW STATUS
153         0.00120325  SELECT QUERY_ID, SUM(DURATION) AS SUM_DURATION FROM INFORMATION_SCHEMA.PROFILING GROUP BY QUERY_ID
154         0.0002665   SELECT STATE AS `状态`, ROUND(SUM(DURATION),7) AS `期间`,                                                                                                                   CONCAT(ROUND(SUM(DURATION)/0.001724*100,3), '%') AS`百分比` FROM INFORMATION_SCHEMA.PROFILING WHERE QUERY_ID=151 GROUP BY STATE ORDER BY SEQ
155         0.000189    SET PROFILING=1
156         0.00206525  SHOW STATUS
157         0.001668    SHOW STATUS
158         0.00054625  SELECT * FROM t_emp WHERE dept_id in (SELECT dept_id FROM t_dept) LIMIT 5
159         0.001448    SHOW STATUS
160         0.00115475  SELECT QUERY_ID, SUM(DURATION) AS SUM_DURATION FROM INFORMATION_SCHEMA.PROFILING GROUP BY QUERY_ID
161         0.00026725  SELECT STATE AS `状态`, ROUND(SUM(DURATION),7) AS `期间`, CONCAT(ROUND(SUM(DURATION)/0.000550*100,3), '%') AS `百分比` FROM INFORMATION_SCHEMA.PROFILING WHERE QUERY_ID=158 GROUP BY STATE ORDER BY SEQ
162         0.00019575  SELECT * FROM `ssm_crud`.`t_emp` LIMIT 0
163         0.0007275   SHOW COLUMNS FROM `ssm_crud`.`t_emp`
164         0.0001305   SET PROFILING=1
165         0.00131475  SHOW STATUS
166         0.0011755   SHOW STATUS

Query_ID表示从连接上数据库到现在执行的SQL 语句序号,Duration 表示执行该SQL 所耗费的时间(S),Query 表示执行的操作。

如果我们想要具体的知道执行SQL 时CPU 与 I/O 的消耗,可以使用 SHOW PROFILE CPU ,BLOCK IO FOR QUERY Query_ID; 命令。

通过下图我们可以通过Status 属性清楚的知道MySQL在执行SQL 语句时每个阶段所消耗的时间,CPU 内存 与 I/O 资源。

但是如果在Status 属性中我们看到了如下表中的一些值,就说明我们的SQL 在执行会消耗大量的时间,需要优化。由于我本地的数据库中只有很少的数据信息,并没有出现下面的情况。

Status 介绍
converting HEAP to MyISAM 查询结果集太大,内存不够借用磁盘空间
Creating tmp table 拷贝数据到临时表(先创建,然后拷贝数据,用完后会自动删除),很消耗资源
Coping to tmp table on disk 把内存中的临时表复制到磁盘,很危险
locked 加锁

MySQL使用SHOW PROFILE进行SQL分析相关推荐

  1. MySQL优化篇:show profile进行SQL分析

    文章目录 1.SQL分析.调优和排查的大体流程 2.show profile是什么 3.show profile分析步骤 (1)是否支持,看看当前的MySQL版本是否支持 (2)开启功能,默认是关闭, ...

  2. Mysql慢查询深入剖析_《深入精通Mysql(六)》系列之如何通过慢查询日志进行SQL分析和优化...

    深入精通Mysql系列其他文章推荐: 从本系列第一篇<深入精通Mysql(一)>系列之Mysql整体架构和sql执行过程我们就可以知道一条sql语句的执行过程会经过优化器进行优化. 优化器 ...

  3. mysql 慢sql分析_如何分析Mysql慢SQL

    内容摘要: 开启慢查询日志捕获慢SQL 使用explain分析慢SQL 使用show profile查询SQL执行细节 常见的SQL语句优化 一.开启慢查询日志捕获慢SQL ① 查询mysql是否开启 ...

  4. mysql的show profile使用总结

    目录 前言: 1.分析步骤 2.总结 前言: Show Profile是mysql提供的可以用来分析当前会话中sql语句执行的资源消耗情况的工具,可用于sql调优的测量.默认情况下处于关闭状态,并保存 ...

  5. MySQL高级show profile

    show profile分析SQL Mysql从5.0.37版本开始增加了对 show profiles 和 show profile 语句的支持.show profiles 能够在做SQL优化时帮助 ...

  6. mysql pt_MySQL慢查询之pt-query-digest分析慢查询日志

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

  7. MySQL的show profile(已过时)简介以及该功能在MySQL 5.7中performance_schema中的替代

    本文出处:http://www.cnblogs.com/wy123/p/6979499.html show profile 命令用于跟踪执行过的sql语句的资源消耗信息,可以帮助查看sql语句的执行情 ...

  8. 详解MySQL的逻辑架构和SQL语句执行流程

    文章目录 1. 逻辑架构 1.1 连接层 1.2 服务层 1.3 引擎层 1.3.1 InnoDB 存储引擎 1.3.2 MyISAM 存储引擎 1.3.3 其他存储引擎 1.4 存储层 3. SQL ...

  9. Java基础语法教学视频,MySql知识体系总结(SQL优化篇

    备注:因为mysql优化器的缘故,与索引顺序不一致,也会触发索引,但实际项目中尽量顺序一致. 5.联合索引,但其中一个条件是 > 6.联合索引,order by where和order by一起 ...

最新文章

  1. 详解MariaDB数据库的存储过程
  2. Bootstrap组件_导航
  3. phpStorm安装xDebug
  4. 如何在SAP Cloud Platform上进行第一个integration flow开发
  5. dax 筛选 包含某个字_Power BI 利器——DAX
  6. linux中c语言延时毫秒函数,linux下写个C语言程序,要求有0.5微秒以下的延时,要怎样写...
  7. php 微信扫码给红包,关于现金红包的详细介绍
  8. IDEA中自动导包及快捷键
  9. 腾讯通RTX 多文件服务器部署
  10. 有负数c语言除法,C语言负数的除法和求余运算
  11. 基于python的web框架——Flask 学习笔记
  12. CAN 报文编码学习笔记二:汽车CAN协议测试——发送与接收
  13. 理解的三极管输出特性曲线图的放大区和饱和区,利用∆Ic小于∆βIb差值比较曲线左移右移关系
  14. 懒羊羊的作业:看过国产动画片的同学都知道,懒羊羊是一只非常懒的羊,整天除了吃就是睡,根本没有时间做作业。明天就是周一了,村长慢羊羊留的作业:把 n 个整数从大到小排序,它还没开始写...
  15. 怎样用CSS画一个三角形
  16. ssm基于jsp的在线点餐系统 毕业设计源码111016
  17. [英语] It_be_XXX_that_YYY强调句句式
  18. 网络编程培训之六 使用原始套接字实现Ping
  19. shiro 拦截器链
  20. Julia实现GCC-PHAT算法

热门文章

  1. Spring Boot-@Value获取值和@ConfigurationProperties获取值的比较
  2. Go——连接 JFrog Artifactory 简单测试
  3. Python——制作深度学习数据集批量重命名图片文件名解决方案
  4. PaddleOCR——Docker环境下基于HubServing模式部署Restful API服务(CPU版本)
  5. JAVA——DES/ECB/PKCS7Padding加密算法[Cannot find any provider supporting DESEDE/CBC/PKCS7Padding]解决方案
  6. Vue-CLI@4——html-webpack-plugin默认配置的获取与修改
  7. Vue + Bootstrap|Element UI——模态框被遮罩层遮盖问题解决方案
  8. Thymeleaf——访问静态资源(static)解决方案
  9. robomaster视觉组代码中的一些函数
  10. JavaScript基础05-day07【条件运算符、运算符优先级、代码块、if语句】