You need to enable JavaScript to run this app.
导航
Query 洞察
最近更新时间:2025.09.05 11:33:34首次发布时间:2025.08.01 10:10:40
复制全文
我的收藏
有用
有用
无用
无用

Query 洞察基于 ByteHouse 企业版中的慢 Query 日志和系统表数据,为您提供当前 Query 的详细执行信息,包括 Query 概览、执行计划可视化、资源消耗、数据表、错误信息等,帮助您快速定位和判断 Query 异常问题。该功能适用于排查慢查询、分析资源瓶颈、优化 SQL 性能等场景。本文介绍了如何使用 Query 洞察。

功能概述

Query 元数据来源于 ByteHouse 慢 Query 日志,默认采集所有 Query,获取集群 top 耗时的 Query,为您展示 Query 执行计划、资源消耗、读写数据表等信息。

  • Query 概览:展示了 Query 的基本信息,采集自慢 Query 日志,包括 Query ID、状态、SQL、参数配置、集群、提交执行人、Client Address、开始/结束时间、耗时、SQL 类型等信息。您可通过 Query 概览信息快速了解 Query 的执行情况。

  • 执行计划可视化:展示了逻辑执行计划和物理执行计划,将慢 Query 日志中的 plan 字段以可视化的形式展示出来。您可通过执行计划分析 SQL 的算子开销,用于 Query 重写优化。更多执行计划信息可参考执行计划 EXPLAIN

    • 逻辑执行计划:默认开启并展示该计划,展示了Query 执行时生成的抽象执行方案,描述了查询执行的逻辑步骤和数据流向。
    • 物理执行计划:物理执行计划带有真实的执行时的统计信息,但是启用后影响查询性能,不建议设置为默认开启。可在需要时通过添加在 SQL 中参数 log_segment_profiles=1 启用并再次执行该 SQL或参考配置用户参数在用户参数中添加 log_segment_profiles=1 参数。SQL 中添加参数的示例如下:
      SELECT xxx FROM sample_db.sample_table
      SETTINGS log_segment_profiles=1;
      
  • 资源消耗:展示 Query 运行过程中的资源消耗情况,采集自慢 Query 日志,包括 Query 执行写及写返回的字节数、行数、CPU 消耗、内存消耗、缓存消耗等。您可使用该信息判断 Query 是否占用过多资源、是否读取的数据量过大等问题。

  • 数据表:展示 Query 涉及的读、写表。您可使用该信息识别表设计或索引优化点。

  • 错误信息:当 Query 执行状态为失败时,ByteHouse 将展示错误信息,包含错误代码、错误原因等信息。您可以通过错误信息提升异常排查和修复效率。

注意事项

使用前,请确保您拥有 Cluster Admin 或 System Admin 权限。如果您尚未获取此权限,请联系管理员授权,详情请参考管理用户的角色权限

准备工作

获取您需要查询的 Query ID。您可登录 ByteHouse 企业版控制台,选择目标集群,单击数据查询,在 SQL 历史中查看并复制查询 ID。您也可单击 Query 行的查询诊断按钮,系统将直接跳转至该查询的 Query 洞察详情页面。
Image

操作步骤
  1. 登录 ByteHouse 企业版控制台,单击顶部诊断优化页签,单击 Query 洞察,进入功能页面。
    Image
  2. 选择集群,并输入 Query ID,单击洞察,系统将自动生成当前 Query 的分析洞察明细,包括使用的 SQL 语句、执行计划、资源消耗、数据表等信息。
    Image
    如果您查询的 Query 状态为 Failed,系统将展示报错信息,您可以结合 Query 语句及错误信息,排查异常和修复问题。
    Image

相关参考:query_log 系统表

Query 洞察基于 query_log 系统表构建,query_log 系统表涉及的信息请参见query_log