如果Mysql查询:
SHOW PROCESSLIST;
是否在状态列中返回"发送数据"?
我想这意味着查询已经执行,MySQL正在向客户端发送"结果"数据,但我想知道为什么要花这么多时间(最多一个小时).
非常感谢.
如果Mysql查询:
SHOW PROCESSLIST;
是否在状态列中返回"发送数据"?
我想这意味着查询已经执行,MySQL正在向客户端发送"结果"数据,但我想知道为什么要花这么多时间(最多一个小时).
非常感谢.
这是一种误导性的状态.它应该被称为"读取和过滤数据".
这意味着MySQL
在磁盘(或内存)上存储了一些数据,这些数据尚未被读取和发送.它可能是表本身、索引、临时表、排序输出等.
如果您有一个1M records表(没有索引),您只需要一条记录,MySQL
在扫描该表时仍会将状态输出为"发送数据",尽管它尚未发送任何内容.
MySQL 8.0.17 and later:该状态不再单独表示,而是包含在Executing状态中.