`KILL QUERY` 命令的目的是什么?

What is the purpose of the `KILL QUERY` command?

我是 MySQL 和 SQL 的初学者,我正在从 MySQL 和 MyISAM 网站学习这些技术。

我现在正在学习KILL命令并且已经学会了如何使用KILL CONNECTION。但是当我从 MySQL 和 MyISAM 网站学习 KILL QUERY 时,他们只是提供了有关 KILL QUERY 的信息,他们终止了指定连接 ID 正在执行的查询。

其他用户(不是我)执行 INSERTDELETE 查询,但是当我通过 SHOW PROCESSLIST 命令获取其他用户的连接 ID 使用 KILL QUERY 时,它说

Query OK, 0 rows affected (0.01 sec)

但其他用户没有任何反应。

我只是想知道这个命令的确切用途是什么。这个 KILL QUERY 命令的目的是什么。谁能告诉我?

一些有用的提示:

How can I stop a running MySQL query?

MySQL Kill query

How to kill all processes for a Specific user

MySQL Manaul - Kill

你需要在这里弄清楚 KILL 会终止连接,但 KILL QUERY 只会终止该查询并保持该连接完好无损。

真的,如果您在另一个用户命令上使用 KILL QUERY,只有当他们的查询 运行 比您的 时,这才会真正引起注意终止查询命令,所以如果它是一个慢速查询,因为 [大多数] 查询将在几分之一秒内执行并关闭,所以当您 KILL 编辑其他用户查询时,他们的查询可能已经无论如何完成并关闭。

我怀疑这就是您所看到的,您正试图终止在 kill 命令可以执行之前关闭并完成的查询。

Killing queries 似乎(从文献中)只对慢速和长 运行 查询有用,从上面的内容中应该很明显。


编辑:
(我已经准备好 post 我的原始答案,然后将其删除为无关紧要,但由于评论,现在似乎更相关!)

来自MySQL Manual

Note

You cannot use KILL with the Embedded MySQL Server library because the embedded server merely runs inside the threads of the host application. It does not create any connection threads of its own.

因此,为了在评论中回答您的问题,我认为您可能 运行 MySQL 已嵌入,因此您的 kill 调用将无法运行。