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. PAT团体程序设计天梯赛 - 模拟赛

    由于本人愚笨,最后一题实在无力AC,于是只有前14题的题解Orz 总的来说,这次模拟赛的题目不算难,前14题基本上一眼就有思路,但是某些题写起来确实不太容易,编码复杂度有点高~ L1-1 N个数求和 ...

  2. Jquery下拉框左右选择

    1.说明 本文demo实现下拉框左右选择,本文地址:http://www.cnblogs.com/lengzhan/p/6423023.html 2.代码 <!DOCTYPE html PUBL ...

  3. 递推DP HDOJ 5459 Jesus Is Here

    题目传送门 题意:简单来说就是sn = sn-1 + sn-2递推而来,求其中所有c字符的:∑i<j:sn[i..i+2]=sn[j..j+2]=‘‘cff"(j−i) mod 530 ...

  4. subline应用之python

    一交互式命令操作快捷键:在安装SublimeREPL插件后,CTRL+~/CTRL+B分别在命令行交互式和编译模式之间进行选择. 为SublimeREPL配置快捷键(每次运行程序必须用鼠标去点工具栏- ...

  5. php的iconv函数中utf8与utf-8的差异

    开发中遇到一个奇怪的问题:报错如下: iconv() [<a href='function.iconv'>function.iconv</a>] : Wrong charset ...

  6. AJPFX总结多线程编程的注意事项

    多线程编程的注意事项          1.明确目的,为什么要使用多线程?如果是由于单线程读写或者网络访问(例如HTTP访问互联网)的瓶颈,可以考虑使用线程池.如果是对不同的资源(例如SOCKET连接 ...

  7. Springboot + Websocket + Sockjs + Stomp + Vue + Iview 实现java后端日志显示在前端web页面上

    话不多说,看代码. 一.pom.xml 引入spring boot websocket依赖 <dependency> <groupId>org.springframework. ...

  8. 2. UITest相关APIs

    1. XCUIApplication 这是你正在测试的应用的代理.它能让你启动应用,这样你就能执行测试了.它每次都会新起一个进程,这会多花一些时间,但是能保证测试应用时的状态是干净的,这样你需要处理的 ...

  9. MSDN值得学习的地方

    作者:朱金灿 来源:http://blog.csdn.net/clever101 我一直认为:如果你没有乔布斯那样的天才,能够从头脑中原创出好产品,那么最好先学习分析好的产品,它到底好在哪里?哪些地方 ...

  10. ubuntu下安装apcu扩展

    apcu前身是apc,apc分为系统缓存和用户缓存 1.系统缓存是指PHP执行时增加缓存,减少PHP文件的反复检查和编译,从而达到系统加速的目的. 2.用户缓存是指,PHP代码中将数据写入缓存,是用户 ...