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. python 面向对象十三 枚举类

    from enum import Enum Month = Enum('Month', ('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', ...

  2. python iteration 迭代

    可迭代的类型:list,tuple,dict,str,bytes,bytearray等 一.怎么判断一个对象是否可迭代 >>> from collections import Ite ...

  3. java sevlet Session

    * 如果浏览器支持Cookie,创建Session的时候会把SessionId保存在Cookie中 * 否则必须自己编程使用URL重写的方式实现Session:response.encodeURL()

  4. python三行代码实现快速排序

    def quick_sort(array): if len(array) < 2: return array return quick_sort([lt for lt in array[1:] ...

  5. 洛谷 P2216 [HAOI2007]理想的正方形 || 二维RMQ的单调队列

    题目 这个题的算法核心就是求出以i,j为左上角,边长为n的矩阵中最小值和最大值.最小和最大值的求法类似. 单调队列做法: 以最小值为例: q1[i][j]表示第i行上,从j列开始的n列的最小值.$q1 ...

  6. 线段树+扫描线 HDOJ 5091 Beam Cannon(大炮)

    题目链接 题意: 给出若干个点的坐标,用一个W*H的矩形去覆盖,问最多能覆盖几个点. 思路: 这是2014上海全国邀请赛的题目,以前写过,重新学习扫描线.首先把所有点移到第一象限([0, 40000] ...

  7. PopupWindow(2)简单示例-自定义弹出菜单

    本示例,用 popupWindow 自定义弹出菜单 public class CustomActionProvider extends ActionProvider implements OnMenu ...

  8. iOS开发隐藏tabBar的问题

    开发中遇到第一个页面需要显示tabBar,但是第二个页面不需要显示,当回到第一个页面的时候又需要显示的情况. 在第一个页面跳转到第二个页面的时候需要给第二个页面设置tabBar的隐藏 - (void) ...

  9. Intent实现界面跳转、程序跳转

    一个程序往往由多个界面组成,界面之间的跳转,实质是Activity之间的跳转. 从当前程序跳转到其它程序,实质是启动了目标程序的入口Activity. Intent被称为意图,常用于组件之间的交互,可 ...

  10. hihocoder1744 hohahola

    思路: 二分. 实现: #include <bits/stdc++.h> using namespace std; typedef long long ll; const ll INF = ...