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。
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 洞察详情页面。
Query 洞察基于 query_log 系统表构建,query_log 系统表涉及的信息请参见query_log。