一、手动开启
在 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,系统以最后一次修改结果为准。