该过程挂起在 SQL:状态“写入网络”

该过程挂起在 SQL:状态“写入网络”

告诉我这个问题可能与什么有关

查询:SELECT /*!40001 SQL_NO_CACHE */ * FROM tblLogs;

在此处输入图片描述

答案1

分为两部分:

这 ...

/*!40001 SQL_NO_CACHE */

... 是告诉 mysql 的指令不是使用 SQL 查询 [计划] 缓存。
此选项在较新版本的 mysql 中已弃用,我怀疑这不是您的问题。

剩下的就是这个……

SELECT * FROM tblLogs;

...这告诉mysql读取一切tblLogs 并将其发送回客户端。是否有或者更可能的是,百万行,无论每行有多少列或这些列的数据类型是什么,mysql 都会读取所有内容并通过网线将其推送回客户端。

如果存在任何类型的网络瓶颈或速度减慢,此查询将受到严重影响。
(这也是为什么不应select *在生产代码中使用的另一个证明)。

相关内容