MySQL 查询状态已终止

标签 mysql kill-process

当我显示进程列表时;

它在其中一行中显示状态Killed并查询NULL

我们是否应该使用 Kill QUERY_ID 终止此 NULL 查询?

这会对数据库产生影响吗?

最佳答案

当您运行show processlist时,您将得到如下内容

mysql> show processlist \G
*************************** 1. row ***************************
     Id: 102524
   User: someuser
   Host: localhost
     db: db_name
Command: Query
   Time: 0
  State: NULL
   Info: show processlist
*************************** 2. row ***************************
     Id: 102532
   User: someuser
   Host: host ip 
     db: db_name
Command: Query
   Time: 0
  State: Sending data
   Info: select .....,
2 rows in set (0.00 sec)

这里会列出当前正在执行的查询,如果你想终止其中一个,你需要使用 ID

例如,如果我需要终止查询且其 ID 为 102532,则可以按如下方式完成:

kill 102532

现在会产生什么后果,假设您正在运行一个正在使用某些查询的报告,并且它正在执行或发送数据,如果您在中间终止,那么考虑到查询返回一些数据,报告数据将没有适当的值.

在大多数情况下,选择比插入、删除或更新花费时间,除非是批量删除、更新或插入。

就选择对数据库的影响而言,它不会产生影响,对于插入/更新/删除,是的,如果查询仍处于事件状态,您可能不会插入/更新或删除数据。

您可以使用

获取查询的完整信息
show full processlist

关于MySQL 查询状态已终止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29699639/

相关文章:

MySQL - 表不存在且无法创建

android - Android 可以在循环执行过程中终止我的应用程序吗?

.net - Process.Kill 后是否需要使用 Process.WaitForExit?

go execute ssh command 并且无法在远程服务器上杀死命令

java - 如何终止(或杀死)Java 中的 Hadoop 作业?

mysql - 将多个 MySQL 数据库合并为一个保留参照完整性的数据库

MySQL 统计最多的行

java - 无法连接到 mysql 中的特定模式

php - 添加到表和定向列表中的数据动态列表的链接应显示数据

android - 我的 android 应用程序在 onclick 时没有关闭