mysql-show profile 中 query end 状态含义

问题描述

show profile 中 query end 状态含义

表2000行, id主键,98%update正常,突然有一条很慢, 使用show profile查询的结果是下面这个状态占用时间比较长,
{
"Status": "query end",
"Duration": "1.751142",
"CPU_user": "0.008999",
"CPU_system": "0.003999",
"Context_voluntary": "98",
"Context_involuntary": "0",
"Block_ops_in": "8",
"Block_ops_out": "32",
"Messages_sent": "0",
"Messages_received": "0",
"Page_faults_major": "0",
"Page_faults_minor": "0",
"Swaps": "0",
"Source_function": "mysql_execute_command",
"Source_file": "sql_parse.cc",
"Source_line": "4465"
},
请问这个 "Status": "query end", 状态是什么状态, 这个状态下在执行什么事情?
"Context_voluntary": "98", "Block_ops_in": "8", "Block_ops_out": "32" 这些字段的含义是什么?

大多数时候这些字段都是0, 为什么突然一条这几个字段很高?

解决方案

{
"Status": "query end", 状态
"Duration": "1.751142", 持续时间
"CPU_user": "0.008999", cpu用户
"CPU_system": "0.003999", cpu系统
"Context_voluntary": "98", 上下文主动切换
"Context_involuntary": "0", 上下文被动切换
"Block_ops_in": "8", 阻塞的输入操作
"Block_ops_out": "32", 阻塞的输出操作
"Messages_sent": "0", 消息发出
"Messages_received": "0", 消息接受
"Page_faults_major": "0", 主分页错误
"Page_faults_minor": "0", 次分页错误
"Swaps": "0", 交换次数
"Source_function": "mysql_execute_command", 源功能
"Source_file": "sql_parse.cc", 源文件
"Source_line": "4465" 源代码行
},

解决方案二:

CONTEXT_VOLUNTARY and CONTEXT_INVOLUNTARY indicate how many voluntary and involuntary context switches occurred.

BLOCK_OPS_IN and BLOCK_OPS_OUT indicate the number of block input and output operations.

STATE is the profiling state to which the row measurements apply.

时间: 2024-08-08 15:05:49

mysql-show profile 中 query end 状态含义的相关文章

MySQL使用profile查询性能的操作教程_Mysql

MYSQL的profiling功能要在Mysql版本5.0.37以上才能使用. 查看profile是否开启 mysql> show variables like '%profil%'; +------------------------+-------+ | Variable_name | Value | +------------------------+-------+ | profiling | OFF | --开启SQL语句剖析功能 | profiling_history_size |

MySQL使用profile分析语句性能消耗

MySQL使用profile分析语句性能消耗 --查看profile是否开启mysql> show variables like '%profil%';+------------------------+-------+| Variable_name          | Value |+------------------------+-------+| profiling              | OFF   |         --开启SQL语句剖析功能                

从Java的类型转换看MySQL和Oracle中的隐式转换(二)

说起数据类型转换,在开发中如此,在数据库中也是如此,之前简单对比过MySQL和Oracle的数据类型转换情况,可以参见MySQL和Oracle中的隐式转换 http://blog.itpub.net/23718752/viewspace-1787973/ 不过当时写完之后,有个读者随口问了一句为什么,为什么呢?似乎自己还是一知半解,说是规则,无规矩不成方圆,倒也无可非议,不过我觉得还是要再看看,看看还能有哪些收获,接下来的内容我就不能保证正确性了,希望大家明辨,也希望提出意见,毕竟就是希望把问题

演讲实录:MySQL 8.0 中的复制技术

01定义 02 MySQL复制技术的简单框架 首先在复制环境中,有两个server,在第一个server中产生binary log,通常将这一个server成为master,另外一台server会将master上的binary log复制过去,然后通过日志的应用,产生和master一样的数据库,这就是复制的基本理论.其基本流程如下: 当应用在master数据库上执行SQL语句,这些操作会被数据库捕捉并以event的形式写到binary log里面,并以文件的形式存储.通过通讯模块,这些event

MySQL数据库开发中的外键与参照完整性

mysql|数据|数据库     参照完整性(Referential integrity)是数据库设计中一个重要的概念.在系统不同的列表中,当数据库所有参照合法或非合法关联时都会涉及到参照完整性.当参照完整性存在时,任何与不存在记录的关联将变得无效化,由此可防止用户出现各种错误,从而提供更为准确和实用的数据库. 参照完整性通常通过外键(foreign key)的使用而被广泛应用.长久以来,流行工具开源RDBMS MySQL并没有支持外键,原因是这种支持将会降低RDBMS的速度和性能.然而,由于很

MySQL 通用查询日志(General Query Log)

    同大多数关系型数据库一样,日志文件是MySQL数据库的重要组成部分.MySQL有几种不同的日志文件,通常包括错误日志文件,二进制日志,通用日志,慢查询日志,等等.这些日志可以帮助我们定位mysqld内部发生的事件,数据库性能故障,记录数据的变更历史,用户恢复数据库等等.本文主要描述通用查询日志.   1.MySQL日志文件系统的组成   a.错误日志:记录启动.运行或停止mysqld时出现的问题.   b.通用日志:记录建立的客户端连接和执行的语句.   c.更新日志:记录更改数据的语句

Apache Access Log中的OPTIONS *的含义

Apache Access Log中的OPTIONS *的含义 在Apache的Access Log中会看到很多如下的访问日志: 127.0.0.1 - - [05/May/2011:10:54:07 +0800] "OPTIONS * HTTP/1.0" 200 - 127.0.0.1 - - [05/May/2011:10:54:08 +0800] "OPTIONS * HTTP/1.0" 200 - 127.0.0.1 - - [05/May/2011:10:

由小见大-MySQL脚本部署中的一些策略

在线上环境中部署脚本,可谓是常在河边走,哪有不湿鞋,所以大大小小的案例总结下来,还是会发现一些有趣的地方,这些可以作为操作时的一些参考,仅供参考而已. 第一类脚本是修复脚本,比如提供的数据修复功能,数据补丁等,这类脚本的特点是后续的数据变更很可能会依赖于之前的操作,环环相扣.所以一旦执行过程中出现问题,就需要保证这个操作可回退,否则会是雪上加霜. 脚本1 脚本2 脚本3 脚本4 脚本5 第二类的脚本是彼此之间没有直接联系.哪怕是中间执行出一点问题也不会直接影响其他业务. 脚本1 脚本2 脚本3

由一条create语句的问题对比mysql和oracle中的date差别

今天开发的同事提交过来一个sql变更,在部署的时候发现了一个问题. 语句是一个简单的create语句 CREATE TABLE `test_user` (   `openid` varchar(64) NOT NULL,   `amount` varchar(11) DEFAULT 0,   `create_time` datetime DEFAULT CURRENT_TIMESTAMP,   `update_time` datetime DEFAULT CURRENT_TIMESTAMP,