ByteHouse云数仓版支持可视化查询诊断能力,在例如慢SQL诊断分析场景下,您可按需在SQL命令中追加诊断参数(log_segment_profiles),后续即可在日志页面中进行可视化诊断分析。文本为您介绍如何添加诊断参数并进入可视化SQL Profiler页面进行诊断分析的主要流程和操作要点。
注意事项
- 当前可视化诊断分析只支持SELECT类型语句。
- 在ByteHouse云数仓中,默认不会对SELECT语句开启诊断分析;您需要按需在指定SELECT语句里追加参数(log_segment_profiles),引擎才会为该SQL开启行诊断分析。
- 在SQL中追加的诊断参数(log_segment_profiles)只对本次运行的SQL有效。
操作步骤
以下以使用SQL工作表查询分析一个简单的示例为例,为您介绍操作的全流程。
step1:在SQL中追加诊断参数
登录并进入某个SQL工作表中,在表查询SQL语句中追加诊断参数,示例代码如下。
select title,host, count(*) from `data_factory`.`dk_connection` group by title,host settings log_segment_profiles = 1;
- 您可以在需要进行诊断分析的SQL命令中,通过settings命令追加诊断参数:log_segment_profiles。
log_segment_profiles = 1
表明开启诊断分析。
step2:进入运行日志页面
- 在页面下方点击获取本次查询任务的查询ID。
- 单击顶部审计日志页签,在SQL历史中,通过查询ID查找到本地任务日志。
- 单击查询ID,进入详细日志页面,即可查看任务的SEGMENT级别、算子级别的诊断信息。
step3:诊断分析
- 查看任务整体详情。
- 您可以在页面中间查看当前任务可视化的segment序列。
- 页面左侧可展开查看当前查询总耗时、SQL语句详情等详情。
- 页面右侧可查看输入输出和分区剪裁的详情。
- 单击页面中某个segment,即可进一步查看对应segment的运行详情。