有什么办法可以杀死 ClickHouse 中的空闲查询?我有一个永远不会完成的 OPTIMIZE 查询(因为它是针对 ReplicatedMergeTree 表运行的)阻塞了我需要删除的表。
问问题
8382 次
2 回答
8
我通常跑步
SELECT query_id, query FROM system.processes;
查找正在运行的查询。从那个列表中我找到query_id
了我想杀死然后执行的查询
KILL QUERY WHERE query_id = '<id>';
更多信息可以在关于 KILL QUERY 的文档中找到
要杀死 Mutation,也有类似的KILL MUTATION
.
于 2018-10-18T12:29:29.773 回答
5
是的,有一个replace_running_query选项。
简而言之,您可以query_id
向 HTTP 请求添加一个参数,如下所示:
http://localhost:8123/?query=SELECT * FROM system.numbers LIMIT 100000000& replace_running_query=1&query_id=example
然后执行第二个 HTTP 请求,同样query_id
:
http://localhost:8123/?query=SELECT 1&replace_running_query=1&query_id=example
服务器将取消第一个查询并运行第二个查询。
您可以覆盖配置文件中的选项(默认情况下禁用)以摆脱将其放置在请求参数中。
于 2016-11-11T23:26:19.453 回答