18. PROFILING

PROFILING表提供语句分析信息。 其内容对应于SHOW PROFILE和SHOW PROFILES语句生成的信息(参见“SHOW PROFILE语法”)。

注意

该表已弃用,将在未来的MySQL版本中删除。 请改用Performance Schema; 请参见“使用性能模式查询分析”。

PROFILING表有以下列:

  • QUERY_ID :数字语句标识符
  • SEQ :一个序列号,指示具有相同QUERY_ID值的行的显示顺序。
  • STATE :状态
  • DURATION :语句执行在给定状态中保持多长时间,以秒为单位。
  • CPU_USER :用户使用CPU时间,以s为单位
  • CPU_SYSTEM :系统使用CPU时间,以s为单位
  • CONTEXT_VOLUNTARY :发生了多少自愿的上下文切换
  • CONTEXT_INVOLUNTARY:发生了多少非自愿的上下文切换
  • BLOCK_OPS_IN :块输入操作数量
  • BLOCK_OPS_OUT :块输出操作数量
  • MESSAGES_SENT :发送的通信消息数
  • MESSAGES_RECEIVED :接受的通信消息数
  • PAGE_FAULTS_MAJOR :主页面错误数量
  • PAGE_FAULTS_MINOR :次页面错误数量
  • SWAPS :发生了多少次swap
  • SOURCE_FUNCTION :指配置文件状态在源代码function位置的执行的信息
  • SOURCE_FILE :指配置文件状态在源代码file位置的执行的信息
  • SOURCE_LINE :指配置文件状态在源代码line位置的执行的信息

Notes

  • PROFILING表是一个非标准的INFORMATION_SCHEMA表。

分析信息也可以从SHOW PROFILE和SHOW PROFILES语句中获得。“SHOW PROFILE语法”。 例如,以下查询等价的:

mysql> SET profiling = 1;

mysql> SHOW PROFILE FOR QUERY 2;
+----------------------+----------+
| Status | Duration |
+----------------------+----------+
| starting | 0.000045 |
| checking permissions | 0.000008 |
| Opening tables | 0.000035 |
| init | 0.000018 |
| System lock | 0.000006 |
| optimizing | 0.000005 |
| statistics | 0.000009 |
| preparing | 0.000008 |
| executing | 0.000031 |
| Sending data | 0.000039 |
| end | 0.000004 |
| query end | 0.000006 |
| closing tables | 0.000003 |
| removing tmp table | 0.000006 |
| closing tables | 0.000004 |
| freeing items | 0.000012 |
| cleaning up | 0.000011 |
+----------------------+----------+
17 rows in set, 1 warning (0.00 sec) mysql> SELECT STATE, FORMAT(DURATION, 6) AS DURATION
-> FROM INFORMATION_SCHEMA.PROFILING
-> WHERE QUERY_ID = 2 ORDER BY SEQ;
+----------------------+----------+
| STATE | DURATION |
+----------------------+----------+
| starting | 0.000045 |
| checking permissions | 0.000008 |
| Opening tables | 0.000035 |
| init | 0.000018 |
| System lock | 0.000006 |
| optimizing | 0.000005 |
| statistics | 0.000009 |
| preparing | 0.000008 |
| executing | 0.000031 |
| Sending data | 0.000039 |
| end | 0.000004 |
| query end | 0.000006 |
| closing tables | 0.000003 |
| removing tmp table | 0.000006 |
| closing tables | 0.000004 |
| freeing items | 0.000012 |
| cleaning up | 0.000011 |
+----------------------+----------+
17 rows in set, 1 warning (0.00 sec)

18. PROFILING的更多相关文章

  1. MySQL Profiling 的使用

    MySQL Profiling 的使用 在本章第一节中我们还提到过通过 Query Profiler 来定位一条 Query 的性能瓶颈,这里我们再详细介绍一下 Profiling 的用途及使用方法. ...

  2. mysql执行update报错 Err] 1055 - 'information_schema.PROFILING.SEQ' isn't in GROUP BY

    mysql执行update报错 Err] 1055 - 'information_schema.PROFILING.SEQ' isn't in GROUP BY 今天开发的同事发来如下错误信息,最最简 ...

  3. Profiling Java Application with Systemtap

    https://laurent-leturgez.com/2017/12/22/profiling-java-application-with-systemtap/ https://myaut.git ...

  4. 18.Mysql SQL优化

    18.SQL优化18.1 优化SQL语句的一般步骤 18.1.1 通过show status命令了解各种SQL的执行频率show [session|global] status; -- 查看服务器状态 ...

  5. 32 Profiling Go Programs 分析go语言项目

    Profiling Go Programs  分析go语言项目 24 June 2011 At Scala Days 2011, Robert Hundt presented a paper titl ...

  6. 18 A GIF decoder: an exercise in Go interfaces 一个GIF解码器:go语言接口训练

    A GIF decoder: an exercise in Go interfaces  一个GIF解码器:go语言接口训练 25 May 2011 Introduction At the Googl ...

  7. Rewrite MSIL Code on the Fly with the .NET Framework Profiling API

    http://clrprofiler.codeplex.com/ http://blogs.msdn.com/b/davbr/archive/2012/11/19/clrprofiler-4-5-re ...

  8. 【Mysql优化】MySQL Profiling 的使用

    要想优化一条 Query,我们就需要清楚的知道这条 Query 的性能瓶颈到底在哪里,是消耗的 CPU计算太多,还是需要的的 IO 操作太多?要想能够清楚的了解这些信息,在 MySQL 5.0 和 M ...

  9. Mysql系列(十)—— 性能分析工具profiling

    转载自:http://www.ywnds.com/?p=8677 explain是从mysql怎样解析执行sql的角度分析sql优劣.profiling是从sql执行时资源使用情况的角度来分析sql. ...

随机推荐

  1. Unity Transform常识(转)

    Variables   position: Vector3  物体在世界坐标中的位置. transform.position=Vector3(10,10,10)//把物体放到(x=10,y=10,z= ...

  2. MySQL 错误码对照

    1005:创建表失败 1006:创建数据库失败 1007:数据库已存在,创建数据库失败 1008:数据库不存在,删除数据库失败 1009:不能删除数据库文件导致删除数据库失败 1010:不能删除数据目 ...

  3. const 和 constexpr

    在C++中,const 这个关键字用法非常灵活,导致我总会搞不清作用是干啥的.灵活使用const会大大改善程序. const 是C++的一种类型修饰符,是不可改变的不能被更新的. 1.const 修饰 ...

  4. java 丢失的异常

    采用finally从句中的,可能会丢失异常 package thinking; //: LostMessage.java // How an exception can be lost class V ...

  5. 不通过ecplise,只通过文件目录 创建最简单的JSP文件

    手动创建最简单的JSP 文件   1.在Tomcat 6.0的安装目录的webapps目录下新建一个目录,起名叫myapp. 2.在myapp目录下新建一个目录WEB-INF,注意,目录名称是区分大小 ...

  6. iOS中自定义UITableViewCell的用法

    1.先创建一个View继承 UITableViewCell并使用xib快速建立模型. #import <UIKit/UIKit.h> #import "Score.h" ...

  7. MySQL5.5升级到5.6

    5.6的新的特性 .支持GTIDs,Failover.多线程复制. 新增binlog_row_image只记录row格式下所用字段的修改(而不是像以前一样记录全部列),节省空间等资源: master. ...

  8. 使用VMwaver 克隆CentOS 6.9网卡配置报错

    报错信息: 克隆完成之后,使用的是NAT模式,进入系统之后有IP地址也可以ping外网,但是没有ifcfg-eth0这个文件,使用setup命令配置网卡时报以下错误: 待解决-

  9. nginx缓存配置及开启gzip压缩

    阅读目录 一:nginx缓存配置 二:nginx开启gzip 回到顶部 一:nginx缓存配置 在前一篇文章,我们理解过http缓存相关的知识点, 请看这篇文章. 今天我们来学习下使用nginx服务来 ...

  10. SQL系列函数——字符串函数

    1.charindex函数用来寻找一个指定的字符(串)在另一个字符串中的起始位置,返回一个整数,没找到就返回0. select CHARINDEX('SQL','Microsoft SQL SERVE ...