information_schema.profiling可以用来分析每一条SQL在它执行的各个阶段的用时,注意这个表是session 级的,也就是说如果session1 开启了它;session2没有开启

这个情况下session2 去查询只会返回一个空表

1、set @@ssesion.profiling=1 可以开启information_schema.profiling相关监测

2、information_schema.profiling 表的常用列

  1、query_id              :查询id 用于标记不同的查询

  2、seq                 :一个查询内部执行的步骤

  3、state                :各个步骤的状态

  4、duration              :各个步骤持续的时间

  5、cpu_user              :用户空间的cpu 使用量

  6、cpu_system            :内核空间的cpu 使用量

  7、swaps               :swap 发生的次数

3、例子:

  1、开启监测

set @@ssesion.profiling=1;

  2、执行查询

select * from tempdb.t;

  3、关闭监测

set @@ssesion.profiling=0;

  4、查询监测到的数据

 select
-> query_id, -- 查询id 它用于标识一个查询
-> seq, -- 显示序号
-> (select sum(duration) from information_schema.profiling as innert where innert.query_id = outert.query_id) as total_cost , -- 总用时in seconds
-> state,-- 状态
-> duration, -- 持续时间
-> cpu_user, -- 用户空间的cpu 使用量
-> cpu_system, -- 内核空间的cpu 使用量
-> -- context_voluntary, -- 自愿上下文切换
-> -- context_involuntary, -- 非自愿上下文切换
-> block_ops_in, -- 块调入次数
-> block_ops_out, -- 块调出次数
-> swaps -- 发生swap 的次数
-> from
-> information_schema.profiling as outert
->
-> order by
-> seq;
+----------+-----+------------+----------------------+----------+----------+------------+--------------+---------------+-------+
| query_id | seq | total_cost | state | duration | cpu_user | cpu_system | block_ops_in | block_ops_out | swaps |
+----------+-----+------------+----------------------+----------+----------+------------+--------------+---------------+-------+
| 1 | 2 | 0.001984 | starting | 0.000058 | 0.000000 | 0.000000 | 0 | 0 | 0 |
| 1 | 3 | 0.001984 | checking permissions | 0.000010 | 0.000000 | 0.000000 | 0 | 0 | 0 |
| 1 | 4 | 0.001984 | Opening tables | 0.000033 | 0.000000 | 0.000000 | 0 | 0 | 0 |
| 1 | 5 | 0.001984 | init | 0.000018 | 0.000000 | 0.000000 | 0 | 0 | 0 |
| 1 | 6 | 0.001984 | System lock | 0.000012 | 0.000000 | 0.000000 | 0 | 0 | 0 |
| 1 | 7 | 0.001984 | optimizing | 0.000006 | 0.000000 | 0.000000 | 0 | 0 | 0 |
| 1 | 8 | 0.001984 | statistics | 0.000014 | 0.000000 | 0.000000 | 0 | 0 | 0 |
| 1 | 9 | 0.001984 | preparing | 0.000013 | 0.000000 | 0.000000 | 0 | 0 | 0 |
| 1 | 10 | 0.001984 | executing | 0.000003 | 0.000000 | 0.000000 | 0 | 0 | 0 |
| 1 | 11 | 0.001984 | Sending data | 0.000130 | 0.000000 | 0.000000 | 0 | 0 | 0 |
| 1 | 12 | 0.001984 | end | 0.000009 | 0.000000 | 0.000000 | 0 | 0 | 0 |
| 1 | 13 | 0.001984 | query end | 0.000008 | 0.000000 | 0.000000 | 0 | 0 | 0 |
| 1 | 14 | 0.001984 | closing tables | 0.001613 | 0.002000 | 0.000000 | 0 | 0 | 0 |
| 1 | 15 | 0.001984 | freeing items | 0.000037 | 0.000000 | 0.000000 | 0 | 0 | 0 |
| 1 | 16 | 0.001984 | cleaning up | 0.000020 | 0.000000 | 0.000000 | 0 | 0 | 0 |
+----------+-----+------------+----------------------+----------+----------+------------+--------------+---------------+-------+

information_schema.profiling学习的更多相关文章

  1. INFORMATION_SCHEMA.PROFILING

    24.18 The INFORMATION_SCHEMA PROFILING Table PROFILING表提供了语句分析信息. 其内容对应于SHOW PROFILES和SHOW PROFILE语句 ...

  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. mysql遇见contains nonaggregated column 'information_schema.PROFILING.SEQ'异常

    报错如下:[Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggrega ...

  4. 解决mysql报错:- Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column 'information_schema.PROFILING.SEQ'

    mysql执行报错: - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated c ...

  5. mysql [Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column 'information_schema.PROFILING.SEQ' which is not functionally dependent on columns in GRO

    [Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated c ...

  6. [Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column 'information_schema.PROFILING.SEQ'

    在Navicat Premium中执行Mysql的一条删除语句,虽然执行成功了,却提示已下错误: 受影响的行: 时间: .005s of ORDER BY clause is not in GROUP ...

  7. MySQL- [Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column 'information_schema.PROFILING.SEQ' which is not functionally dependent on columns in GR

    新建的mysql,在查询时报异常信息,虽然有正常执行结果. [Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY claus ...

  8. information_schema.referential_constraints 学习

    information_schema.referential_constraints 表用于查看外键约束 1.information_schema.referential_constraints表的常 ...

  9. information_schema.optimizer_trace学习

    information_schema.optimizer_trace 用于追踪优化器的优化过程:通常来说这张表中是没有数据的,要想开户追踪要把 @@session.optimizer_trace='e ...

随机推荐

  1. Android广播机制(转)

    1.Android广播机制概述 Android广播分为两个方面:广播发送者和广播接收者,通常情况下,BroadcastReceiver指的就是广播接收者(广播接收器).广播作为Android组件间的通 ...

  2. ORA-16014报错解决

    今天在本地数据库操作的时候报错: SQL> alter database open;alter database open*第 1 行出现错误:ORA-16014: 日志 3 的序列号 55 未 ...

  3. 一种针对虚拟机的应用软件License认证方法

    由于虚拟机的硬件信息可以随意修改,使得虚拟机可能具有相同的硬件信息,在传统的应用软件License认证方式中会导致License认证漏洞.本专利提供了一种有效的解决方法. 文/王宏财 目 前,云计算的 ...

  4. 《Programming WPF》翻译 第6章 2.资源与样式

    原文:<Programming WPF>翻译 第6章 2.资源与样式 WPF的样式机制以来于资源体系来定位样式.正如你在第5章看到的,样式在元素的资源片段中定义,而且样式通过其名字被引用, ...

  5. poj 3321

    题目链接 题意:一开始1-n都有苹果,Q查询以x为根下存在多少. 树状数组+DFS+队列转换 这题纠结了2天,一开始一点思路都没有,看大神都是吧树状数组转换成队列来做 看了好久都不知道怎么转换的, 解 ...

  6. android UI之Shape详解_GradientDrawable

    在Android开发过程中,经常需要改变控件的默认样式, 那么通常会使用多个图片来解决.不过这种方式可能需要多个图片,比如一个按钮,需要点击时的式样图片,默认的式样图片. 这样就容易使apk变大. 那 ...

  7. 福建省队集训被虐记——DAY2

    唉--第二天依然被虐--但是比第一天好一点--我必须负责任的指出:志灿大神出的题比柯黑的不知道靠谱到哪里去了--柯黑出的简直不可做 但是被虐的命运是无法改变的--求各位神犇别D我 黄巨大真是强啊,不愧 ...

  8. Node.js-require的使用方法

    require最常用的方法 require('http') 内置模块 require('./server')  “./”表示当前路径,后面跟的是相对路径 require("../lib/se ...

  9. New Year Table(几何)

    New Year Table Time Limit:2000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u Sub ...

  10. pat 1049 Counting Ones

    要统计1到N之间‘1’的个数,如数11包含2个1.所以当N=12时,答案为5. 思想: 找规律,假设ans[N]表示1到N的‘1’的个数,则有a[100]=(a[10]-1)*9+10+a[10]-1 ...