首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“杀死QUERY`”命令的目的是什么?

“杀死QUERY`”命令的目的是什么?
EN

Stack Overflow用户
提问于 2017-05-09 18:04:43
回答 1查看 1.7K关注 0票数 1

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

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

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

查询确定,0行受影响(0.01秒)

但其他用户没有发生任何事情。

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-09 18:17:57

一些有用的提示:

如何停止正在运行的MySQL查询?

MySQL杀人查询

如何杀死特定用户的所有进程

MySQL Manaul - Kill

在这里您需要弄清楚,KILL会关闭连接,但是KILL QUERY只会关闭该查询,并将保持该连接的完整性。

实际上,如果您在另一个用户命令上使用KILL QUERY,那么只有当他们的查询运行时间比Kill query命令的时间更长时才能注意到这一点,所以如果这是一个缓慢的查询,因为大多数查询将在一秒钟内执行和关闭,所以当您KILL编辑了其他用户查询时,他们的查询可能已经完成并关闭了。

我怀疑这就是您所看到的,您正在试图杀死一个查询,该查询将关闭并在杀死命令执行之前完成。

从文献来看,删除查询只对缓慢和长时间运行的查询有用,从上面可以看出这一点的原因。

编辑:

(我已经准备好在我最初的答案上贴上这篇文章,然后把它说成无关紧要,但由于评论,现在似乎更有意义了!)

来自MySQL手册

备注 不能在嵌入式MySQL服务器库中使用KILL,因为嵌入式服务器只是在主机应用程序的线程中运行。它不创建自己的任何连接线程。

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43876920

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档