跳转到主要内容
在 ClickHouse Cloud 中查询此系统表中的数据分别保存在 ClickHouse Cloud 各节点的本地。因此,如需查看所有数据的完整情况,需要使用 clusterAllReplicas 函数。更多详情请参见此处

描述

此表包含处理器级别的性能分析信息 (可在 EXPLAIN PIPELINE 中查看) 。

  • hostname (LowCardinality(String)) — 执行该查询的服务器主机名。
  • event_date (Date) — 事件发生的日期。
  • event_time (DateTime) — 事件发生的日期和时间。
  • event_time_microseconds (DateTime64(6)) — 事件发生时的日期和时间,精确到微秒。
  • id (UInt64) — 处理器 ID。
  • parent_ids (Array(UInt64)) — 父处理器 ID。
  • plan_step (UInt64) — 创建该处理器的查询计划步骤 ID。如果该处理器不是由任何步骤添加的,则该值为 0。
  • plan_step_name (String) — 创建该处理器的查询计划步骤名称。如果该处理器不是由任何步骤添加的,则该值为空。
  • plan_step_description (String) — 创建该处理器的查询计划步骤描述。如果该处理器不是由任何步骤添加的,则该值为空。
  • plan_group (UInt64) — 如果该处理器由查询计划步骤创建,则表示其所属的组。组是对由同一查询计划步骤添加的处理器进行的逻辑分组。组仅用于美化 EXPLAIN PIPELINE 结果的输出。
  • initial_query_id (String) — 初始查询的 ID (用于 distributed query execution) 。
  • query_id (String) — 查询 ID。
  • name (LowCardinality(String)) — 处理器名称。
  • elapsed_us (UInt64) — 该处理器执行耗时的微秒数。
  • input_wait_elapsed_us (UInt64) — 该处理器等待数据 (来自其他处理器) 的微秒数。
  • output_wait_elapsed_us (UInt64) — 该处理器因输出端口已满而等待的微秒数。
  • input_rows (UInt64) — 处理器消耗的行数。
  • input_bytes (UInt64) — 处理器消耗的字节数。
  • output_rows (UInt64) — 处理器生成的行数。
  • output_bytes (UInt64) — 处理器生成的字节数。
  • processor_uniq_id (String) — 管道中处理器的唯一 ID。
  • step_uniq_id (String) — 计划中步骤的唯一 ID。

示例

Query
Response
这里可以看到:
  • ExpressionTransform 正在执行 sleep(1) 函数,因此其 work 会耗时 1e6,所以 elapsed_us > 1e6。
  • SourceFromSingleChunk 需要等待,因为 ExpressionTransform 在执行 sleep(1) 期间不接受任何数据,因此它会有 1e6 us 处于 PortFull 状态,所以 output_wait_elapsed_us > 1e6。
  • LimitsCheckingTransform/NullSource/LazyOutputFormat 需要等待,直到 ExpressionTransform 执行完 sleep(1) 并处理结果,因此 input_wait_elapsed_us > 1e6。

另请参阅

最后修改于 2026年7月3日