当前位置: 首页 > 知识库问答 >
问题:

如何检测查询是否运行在“发送数据”状态

符鸿光
2023-03-14

我阅读了一些关于“发送数据”状态的解释,但我仍然不知道查询是否正在运行。他们说“发送数据”是指服务器向客户端发送一些数据,但我真的不知道发送的是哪一个数据。

当MySQL处于“发送数据”状态时意味着什么?

update logs join user
set logs.userid=user.userid
where logs.log_detail LIKE concat("%",user.userID,"%");

共有1个答案

李法
2023-03-14

当它在进程列表中时,它仍在运行。我认为,您的查询运行非常慢,因为您正在执行交叉联接(这意味着您将一个表的每一列连接到另一个表的每一列,这可能会导致相当大的数据量,因此我进一步假设,您的查询并不像您认为的那样做),并且不能在WHERE子句上使用索引。您可能正在对大量数据进行全表扫描。您可以通过执行解释 来验证这一点。
为了避免交叉联接,在on子句中指定连接,如下所示

update logs join user ON logs.userid = user.userid
set logs.whatever = user.whatever
where logs.log_detail LIKE concat("%",user.userID,"%");
 类似资料:
  • 问题内容: 我在我的项目中使用JobService。运行良好。但有时服务停止了。它不会再次重新启动。因此,如果没有运行,我将尝试分层JobService。但是我不知道如何检查JobService是否已经运行。请让我知道如何检查JobService是否正在运行。 我的工作服务课程: 我的实用程序类: 开始: 停止: 问题答案: 我找到了解决方案。 使用此方法,我们可以检查jobService是否正在

  • 问题内容: 我正在尝试创建一个bash实用程序脚本以检查我的服务器中是否正在运行docker守护进程。除了运行这样的代码之外,还有没有更好的方法来检查docker守护进程是否正在我的服务器中运行? 我想创建一个bash shell脚本,该脚本将检查我的docker守护程序是否正在运行。如果它正在运行,则什么也不做,如果没有,则启动docker守护程序。 我的伪代码是这样的。我正在考虑解析ps -e

  • 问题内容: 我正在写一个可以设置标题的库。如果标题已经发送,我想给出一个自定义错误消息,而不是让它失败并显示Node.js给出的“发送后无法设置标题”消息。那么如何检查标头是否已经发送? 问题答案: 编辑:从Express 4.x开始,您需要使用res.headersSent。 还要注意,您可能要在检查之前使用setTimeout,因为在调用res.send()之后,它不会立即设置为true。资源

  • 问题内容: 我有一个Node.js脚本所需的脚本,我想保持JavaScript引擎独立。 例如,我只想在Node.js下运行。如何执行此测试? 发布此问题时,我不知道Node.js模块功能是否基于CommonJS。 对于我给出的具体示例,一个更准确的问题是: 脚本如何判断是否已将其作为CommonJS模块使用? 问题答案: 通过寻求CommonJS支持 ,这是Underscore.js库的实现方式

  • 问题内容: 有什么方法可以检查Go程序是否在运行时启用了编译功能(例如,用于日志记录/信息目的)? 我检查了文档以及明显的位置(),但找不到任何东西。 问题答案: 据我所知,没有对此的简单检查,但是启用了 build标签后,您就可以利用它了。 我创建了一个新目录,并在其中放置了两个文件: : : 由于使用了build标签,将仅编译两个文件之一。 这也是围棋标准库是怎么做的(,),但由于这是一个内部

  • 问题内容: 建立连接后是否可以检查(MySQL)数据库是否存在。 我知道如何检查数据库中是否存在表,但是我需要检查数据库是否存在。如果没有,我必须调用另一段代码来创建它并填充它。 我知道所有这些听起来都不太优雅-这是一个快速又肮脏的应用程序。 问题答案: 如果您只想知道数据库是否存在,以免在尝试创建数据库时出错,只需使用(From here):