gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 06:02:39 25 4
gpt4 key购买 nike

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

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

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

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 Query 命令时,这才会真正引起注意,所以如果它是一个慢速查询,因为 [大多数] 查询将在几分之一秒内执行并关闭,因此当您KILL其他用户查询时,他们的查询可能已经完成并且无论如何关闭。

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

杀死查询似乎(从文献中)只对缓慢和长时间运行的查询有用,从上面的内容中应该很明显。


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

来自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 调用将无法运行。

关于mysql - `KILL QUERY` 命令的目的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43876920/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com