What does it mean when MySQL is in the state quot;Sending dataquot;?(MySQL处于“正在发送数据状态是什么意思?)
问题描述
如果Mysql查询是什么意思:
What does it mean if the Mysql query:
SHOW PROCESSLIST;
在状态"列中返回正在发送数据"?
returns "Sending data" in the State column?
我想这意味着查询已经执行并且 MySQL 正在向客户端发送结果"数据,但我想知道为什么它需要这么多时间(最多一个小时).
I imagine it means the query has been executed and MySQL is sending "result" Data to the client but I'm wondering why its taking so much time (up to an hour).
谢谢.
推荐答案
这是一种误导性的状态.它应该被称为读取和过滤数据".
This is quite a misleading status. It should be called "reading and filtering data".
这意味着 MySQL 有一些数据存储在磁盘(或内存)中,但尚未读取和发送.它可能是表本身、索引、临时表、排序输出等.
This means that MySQL has some data stored on the disk (or in memory) which is yet to be read and sent over. It may be the table itself, an index, a temporary table, a sorted output etc.
如果你有一个 1M 的记录表(没有索引),你只需要一个记录,MySQL 仍然会输出状态为发送数据";在扫描表格时,尽管它尚未发送任何内容.
If you have a 1M records table (without an index) of which you need only one record, MySQL will still output the status as "sending data" while scanning the table, despite the fact it has not sent anything yet.
MySQL 8.0.17 及更高版本:此状态不再单独指示,而是包含在 Executing 状态中.
MySQL 8.0.17 and later: This state is no longer indicated separately, but rather is included in the Executing state.
这篇关于MySQL处于“正在发送数据"状态是什么意思?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:MySQL处于“正在发送数据"状态是什么意思?
基础教程推荐
- SQL 效率:WHERE IN 子查询 vs. JOIN 然后 GROUP 2021-01-01
- SQL Server 实例在登录协商期间返回无效或不受支持的协议版本 2021-01-01
- 无法解决整理冲突 2021-01-01
- SQL:使用来自具有相同列名的两个表中的数据... 2021-01-01
- 在 SQL 中连接多个表 2021-01-01
- 如何使用 mysql.connector 禁用查询缓存 2022-01-01
- SSMS 中的权限问题:“对象 'extended_properties'、数据库 'mssqlsystem_resource'、... 错误 229)上的 SELECT 权限被拒绝" 2022-01-01
- 需要 MySQL 5.1 中的抽象触发器来更新审计日志 2021-01-01
- 将 SQL Server DateTime 列迁移到 DateTimeOffset 2021-01-01
- 是否可以执行按位分组功能? 2021-01-01
