首页 > 数据库 >mysql SHOW PROFILE

mysql SHOW PROFILE

时间:2024-06-21 17:59:43浏览次数:14  
标签:PROFILE rows SHOW 0.00 sec mysql

SHOW PROFILE [type [, type] ... ]
    [FOR QUERY n]
    [LIMIT row_count [OFFSET offset]]

type: {
    ALL
  | BLOCK IO
  | CONTEXT SWITCHES
  | CPU
  | IPC
  | MEMORY
  | PAGE FAULTS
  | SOURCE
  | SWAPS
}

SHOW PROFILE SHOW PROFILES语句显示分析信息,这些信息指示在当前会话过程中执行的语句的资源使用情况。每个会话启用分析后,当会话结束时,其分析信息将丢失。

SHOW PROFILE SHOW PROFILES 已经被弃用了,未来将不使用这个。

The SHOW PROFILE and SHOW PROFILES statements are deprecated; expect them to be removed in a future MySQL release. Use the Performance Schema instead; see Section 29.19.1, “Query Profiling Using Performance Schema”.

#设置为1,开启性能分析
mysql> SET profiling = 1;
#查看配置
mysql> SELECT @@profiling;
+-------------+
| @@profiling |
+-------------+
|           0 |
+-------------+
1 row in set (0.00 sec)
#开启分析
mysql> SET profiling = 1;
Query OK, 0 rows affected (0.00 sec)

#执行任意的sql语句
mysql> DROP TABLE IF EXISTS t1;
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> CREATE TABLE T1 (id INT);
Query OK, 0 rows affected (0.01 sec)


## 查看执行过的sql 的QUERYID,Duration持续时间
mysql> SHOW PROFILES;
+----------+----------+--------------------------+
| Query_ID | Duration | Query                    |
+----------+----------+--------------------------+
|        0 | 0.000088 | SET PROFILING = 1        |
|        1 | 0.000136 | DROP TABLE IF EXISTS t1  |
|        2 | 0.011947 | CREATE TABLE t1 (id INT) |
+----------+----------+--------------------------+
3 rows in set (0.00 sec)
#最近一个查询的 profile 信息   
mysql> SHOW PROFILE;
+----------------------+----------+
| Status               | Duration |
+----------------------+----------+
| checking permissions | 0.000040 |
| creating table       | 0.000056 |
| After create         | 0.011363 |
| query end            | 0.000375 |
| freeing items        | 0.000089 |
| logging slow query   | 0.000019 |
| cleaning up          | 0.000005 |
+----------------------+----------+
7 rows in set (0.00 sec)

mysql> SHOW PROFILE FOR QUERY 1;
+--------------------+----------+
| Status             | Duration |
+--------------------+----------+
| query end          | 0.000107 |
| freeing items      | 0.000008 |
| logging slow query | 0.000015 |
| cleaning up        | 0.000006 |
+--------------------+----------+
4 rows in set (0.00 sec)

mysql> SHOW PROFILE CPU FOR QUERY 2;
+----------------------+----------+----------+------------+
| Status               | Duration | CPU_user | CPU_system |
+----------------------+----------+----------+------------+
| checking permissions | 0.000040 | 0.000038 |   0.000002 |
| creating table       | 0.000056 | 0.000028 |   0.000028 |
| After create         | 0.011363 | 0.000217 |   0.001571 |
| query end            | 0.000375 | 0.000013 |   0.000028 |
| freeing items        | 0.000089 | 0.000010 |   0.000014 |
| logging slow query   | 0.000019 | 0.000009 |   0.000010 |
| cleaning up          | 0.000005 | 0.000003 |   0.000002 |
+----------------------+----------+----------+------------+
7 rows in set (0.00 sec)

SHOW PROFILES 显示最近发送到服务器的语句的列表。列表的大小由profiling_history_size会话变量控制,该变量的默认值为15。最大值为100。将该值设置为0具有禁用分析的实际效果。

分析信息也可从INFORMATION_SCHEMA PROFILING表中获得。请参见第28.3.24节“INFORMATION_SCHEMA PROFILING表”。例如,以下查询是等效的:


SHOW PROFILE FOR QUERY 2;

SELECT STATE, FORMAT(DURATION, 6) AS DURATION
FROM INFORMATION_SCHEMA.PROFILING
WHERE QUERY_ID = 2 ORDER BY SEQ;

标签:PROFILE,rows,SHOW,0.00,sec,mysql
From: https://www.cnblogs.com/bigorang/p/18261090

相关文章

  • MySQL数据库
    一.数据库概念1.数据        描述事物的符号记录称为数据(Data)。数字、文字、图形、图像、声音、档案记录等都是数据。        在数据库中,数据是以“记录”的形式按照统一的格式进行存储的,而不是杂乱无章的。相同格式和类型的数据统一存放在一起,而不会把“人......
  • MySQL 查数据转Json
    将数据库表里的字段查询出来并且连接成json格式的实现方法SELECTCONCAT('[',GROUP_CONCAT(JSON_OBJECT('key-name',col1,'keyname2',col2,……,'key-namen',coln)),']')asjson_resultFROMtablenamewherecol1=83结果会将查询的数据一行行用{}返回,行之间&qu......
  • MySQL初体验
    数据库的基本概念数据描述事物的符号记录包括数字,文字、图形、图像、声音、档案记录等以“记录”的形式按统一的格式进行存储表将不同的记录组织在一起用来存储具体数据数据库表的集合,是存储数据的仓库以一定的组织方式存储的相互有关的数据集合数据库管理系统(DBMS)是实......
  • MySQL bit类型增加索引后查询结果不正确案例浅析
    昨天同事遇到的一个案例,这里简单描述一下:一个表里面有一个bit类型的字段,同事在优化相关SQL的过程中,给这个表的bit类型的字段新增了一个索引,然后测试验证时,居然发现SQL语句执行结果跟不加索引不一样。加了索引后,SQL语句没有查询出一条记录,删除索引后,SQL语句就能查询出几十条记录。......
  • 对比Oracle和MySQL索引对于like的支持,MySQL一言难尽啊...
     对比Oracle和MySQL索引对于like的支持,MySQL一言难尽啊... MySQL:|Oracle:(root@localhost09:44:08)[zkm](673009)>select*fromtest;|09:52:11ZKM@test(1076......
  • MySQL索引、事务与存储引擎
    目录1.索引介绍(1)工作方式(2)创建索引的依据2.索引类型(1)普通索引(2)唯一索引(3)主键索引(4)多列组合索引(单列索引与多列索引)(5)全文索引(FULLTEXT)(6)删除和查看索引以及各字段的含义(1)删除索引(2)查看索引(3)各字段的含义3.遇到select查询语句执行速度慢该怎么办?4.事务介绍(1)事务的ACID特性(2)隔离......
  • MySQL数据库管理
    目录1.SQL语句(1)DDL:用于管理数据库对象(库、表、索引等)(2)DML:用于管理表数据(3)DQL:用于查询表数据(4)DCL:用于管理用户和权限2.创建及删除数据库和表3.修改表名和表结构4.数据表高级操作5.如何找回root密码?6.MySQL的六大约束属性7.权限管理1.SQL语句关系型数据库专用的操作管理语句,包......
  • MYSQL基础_18_MySQL8其它新特性
    第18章_MySQL8其它新特性1.MySQL8新特性概述MySQL从5.7版本直接跳跃发布了8.0版本,可见这是一个令人兴奋的里程碑版本。MySQL8版本在功能上做了显著的改进与增强,开发者对MySQL的源代码进行了重构,最突出的一点是多MySQLOptimizer优化器进行了改进。不仅在速度上得到了改......
  • MYSQL基础_17_触发器
    第17章_触发器在实际开发中,我们经常会遇到这样的情况:有2个或者多个相互关联的表,如商品信息和库存信息分别存放在2个不同的数据表中,我们在添加一条新商品记录的时候,为了保证数据的完整性,必须同时在库存表中添加一条库存记录。这样一来,我们就必须把这两个关联的操作步......
  • 结合zabbix监控mysql,让mysql性能飙升
      前段时间客户的系统突然出现mysql只读集群cpu飙升的情况,飙升到最高点的时候,甚至导致应用服务器GC,幸好应用有备份服务器,流量直接切过去,客户也无感知。但是这个只是临时的解决办法,总归要找到具体的原因,和开发同事查了两天的应用日志和mysql的慢日志,始终无法定位到具体的问题。......