查询分析记录了查询中涉及的所有工作节点的执行信息。通过 Query Profile,您可以快速识别影响 StarRocks 实例查询性能的瓶颈。
操作指南
开启 Query Profile
手动开启
在 MySQL 客户端 或 SQL 工作区 中运行修改变量
enable_profile的值为true,开启 Profile 采集。MySQL 客户端中,该语句 session 级别生效,同一次连接中只需运行一次,后续所有 Query 都将开启 Profile 采集。
SQL 工作区中,该语句 session 级别生效,与需采集 Profile 的查询 SQL 一起运行才生效。
-- session 级别生效SET enable_profile = true;-- 全局生效(不建议,可能影响查询性能)SET global enable_profile = true;-- 在 SQL 工作区中,需同时与查询 SQL 一起运行才生效。SET enable_profile = true;SELECT * FROM your_table LIMIT 10;
慢查询自动开启
慢查询自动采集 Profile 的值默认为30s,即运行时间大于30s 的慢查询将自动采集 Profile 。您可以在控制台进行修改,也可通过 MySQL 客户端 或 SQL 工作区 修改变量
big_query_profile_threshold 的值。控制台中修改“自动触发 profile 采集阈值”,支持0s -1800s 。若需修改其他值,可通过 SQL 语句进行修改,控制台会同步展示。
当设置
big_query_profile_threshold 的值小于1ms 时,该功能会关闭,即不会触发自动采集 Profile,控制台显示为0s。如想该变量全局生效,可通过运行
SET global big_query_profile_threshold='target time'来修改。-- session 级别生效SET big_query_profile_threshold = 10s;-- 全局生效SET global big_query_profile_threshold = 10h;
Query Profile 详情
Profile 采集成功后,可登录 腾讯云数据仓库 TCHouse-X 控制台 > StarRocks 实例列表 > 目标资源 ID/名称 > 查询管理 > 查询分析进入详情页。在此页面中,您可以看到所有触发采集 Profile 的查询记录。该页面支持通过 SQL 关键词进行搜索。
点击请求 ID 或详情,可查看该查询的 Profile 详情和 Profile 分析。通过 Profile 分析,可以查看该查询的瓶颈分析,帮助您对特定节点进一步分析。
常见问题
为什么在“查询分析”页面看不到刚执行的查询?
可优先检查以下几点:
执行前是否已运行
SET enable_profile = true;查询是否超过了自动采集阈值;
自动采集阈值是否被设置为 0s;
如果确认已开启 enable_profile,或查询超过了自动采集阈值且该值不为0,您可以刷新页面,列表有5s 左右的延迟时间。
为什么我修改了阈值,但控制台表现和预期不一致?
控制台展示的为全局变量的值,如您修改的为 session 级别变量,即运行时没有加
global,则该值不会展示在控制台上;控制台与 SQL 命令都可以修改
big_query_profile_threshold,系统以最后一次修改结果为准。