You need to enable JavaScript to run this app.
导航
终止语句(KILL)
最近更新时间:2025.11.10 18:49:38首次发布时间:2025.05.16 16:11:40
复制全文
我的收藏
有用
有用
无用
无用

当前 ByteHouse 支持终止查询(kill query)。

KILL QUERY

Kill query 语句将强制终止当前正在运行的查询。

注意事项

如果您仅具有只读权限(SELECT、SHOW、GET)则仅能终止您创建的查询。您可通过 ByteHouse 控制台 > 权限管理 > 用户 > 数据权限,查看拥有的数据权限。如需获取更高数据管理权限,请联系管理员配置,详情请参见数据权限管理

语法

KILL QUERY
  WHERE <where expression to SELECT FROM system.processes query>  
  [SYNC|ASYNC|TEST]  
  [FORMAT format]

具体参数说明如下:

参数

是否必填

说明

WHERE <where expression to SELECT FROM system.processes query>

使用 where 表达式定义需要终止的查询的条件。该示例表示从system.processes 表中选择满足条件的查询,并将其终止。您可将 system.processes 替换为您的数据表名称。

[SYNC

ASYNC

TEST]

  • ASYNC:默认使用异步强制终止,异步终止将强制执行,不会确认当前查询是否已停止(stop)。
  • SYNC:同步查询会等待所有查询停止后再终止查询,并显示进程信息。SYNC 返回的信息将展示在 kill_status 列,包含以下类型:
    • finished – 查询已成功终止。
    • waiting – 已发送终止信号,等待查询结束。
    • 其他值解释了查询无法终止的原因。
  • TEST:TEST 仅测试用户的权限,并列出待终止操作。

[FORMAT format]

可选值,定义命令执行结果的输出格式,默认输出格式为 TabSeperateed。支持的常见格式包括 TabSeperated、CSV、Pretty、JSON、JSONEachRow、XML 等。

示例

示例 1:强制终止某个特定的查询
  1. 获取尚未完成的查询语句列表。

    SHOW PROCESSLIST WHERE query like 'SELECT%'
    
  2. 终止查询。

    KILL QUERY WHERE initial_query_id='2-857d-4xxx-9xxx-327xxxxx0a90'
    

示例 2:同步终止某个用户运行的所有查询
  1. 获取尚未完成的查询语句列表。

    SHOW PROCESSLIST
    
  2. 终止查询。

    KILL QUERY WHERE user='username' SYNC