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. Hibernate绑定session保证session为单线程操作

  2. _bzoj1257 [CQOI2007]余数之和sum【小技巧】

    传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1257 最近刚做了一道莫比乌斯的题,需要用到这种方法. 应该让k / i相等的一连串k % i ...

  3. PHP常见的输出语句 echo()、print()、print_r()、var_dump()、pinrtf()之间的区别

    echo().print().print_r().var_dump().pinrtf()之间的区别 1.print() :简单输出语句,可以输出字符串,变量.表达式等单项的值!(不能输出数组.对象等复 ...

  4. MySQL、SqlServer、Oracle三大主流数据库分页查询 (MySQL分页不能用top,因为不支持)

    一. MySQL 数据库 分页查询MySQL数据库实现分页比较简单,提供了 LIMIT函数.一般只需要直接写到sql语句后面就行了.LIMIT子 句可以用来限制由SELECT语句返回过来的数据数量,它 ...

  5. [转]Java中Date转换大全,返回yyyy-MM-dd的Date类型

    /** * 获取现在时间,这个好用 * * @return返回长时间格式 yyyy-MM-dd HH:mm:ss */ public static Date getSqlDate() { Date s ...

  6. eclipse 闪退原因

    电脑关机后 重启发现eclipse竟然打不开了,打开出现闪退,原因是: 1.JDK版本不一致,或者你电脑上安装了多个版本: 2.环境变量:安装了其他软件比如:oracle 它自带有一个较低版本的JDK ...

  7. Apache Kylin的架构特性

    不多说,直接上干货! http://kylin.apache.org/cn/ 可扩展的超快OLAP引擎,提供标准SQL查询接口 支持单机或集群部署,为减少在Hadoop上百亿规模数据查询延迟而设计: ...

  8. go获取当前执行的位置程序

    func getCurrentPath() string { _, filename, _, ok := runtime.Caller(1) var cwdPath string if ok { cw ...

  9. AJPFX关于一维数组的声明与初始化

    一维数组:可以理解为一列多行.类型相同的数据,其中每个数据被称为数组元素:一维数组的声明方式:                type varName[]; 或 type[] varName;(推荐) ...

  10. Git之删除本地和远程项目

    目录 删除本地项目 删除远程项目 删除本地项目: git rm -rf project  或者 rm -rf project   [删除工作区项目] git add project [将删除的项目添加 ...