MySQL查询状态被杀死

时间:2015-04-17 12:46:18

标签: mysql kill-process

当我确实显示进程列表时;

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

我们应该使用NULL Kill QUERY_ID查询吗?

这会对数据库造成影响吗?

1 个答案:

答案 0 :(得分:0)

当你运行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