MySQL查询状态被杀
MySQL query status killed
当我显示进程列表时;
其中一行显示状态 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
现在后果是什么,假设您正在 运行 正在使用某些查询的报告及其执行或发送数据,如果您在中途终止,则报告数据将不正确考虑查询返回一些数据的值。
在大多数情况下,select 比插入、删除或更新要花时间,除非是批量删除、更新或插入。
就 select 对数据库的影响而言,它不会有任何影响,insert/update/delete 是的,如果查询仍处于活动状态,您可能没有数据 inserted/updated 或删除.
您可以使用
获取查询的完整信息
show full processlist
当我显示进程列表时;
其中一行显示状态 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
现在后果是什么,假设您正在 运行 正在使用某些查询的报告及其执行或发送数据,如果您在中途终止,则报告数据将不正确考虑查询返回一些数据的值。
在大多数情况下,select 比插入、删除或更新要花时间,除非是批量删除、更新或插入。
就 select 对数据库的影响而言,它不会有任何影响,insert/update/delete 是的,如果查询仍处于活动状态,您可能没有数据 inserted/updated 或删除.
您可以使用
获取查询的完整信息show full processlist