操作场景
慢 SQL 分析为 TDSQL Boundless(TDStore 引擎) 实例提供基于慢日志的离线性能分析能力。通过聚合相同模板的慢 SQL,可识别影响业务最严重的低效查询,并查看其执行耗时分布、扫描行数、所属库等关键信息,辅助 SQL 调优。
适用场景
业务侧反馈接口响应变慢,需要定位是否存在低效查询。
CPU、I/O 类异常诊断告警时,确认是否由慢 SQL 引发。
上线前检视新业务 SQL 的执行成本。
定期巡检识别长期运行成本较高的 SQL 模板,进行索引或语句优化。
背景信息
慢 SQL 分析通过对实例的慢日志进行采集与聚合,将语义相同(仅参数不同)的 SQL 归并为同一模板进行统计:
统计维度:执行次数、平均执行时间、最大执行时间、最大锁等待时间、最大扫描行数、所属库等;
时间范围:可选择当天、近5分钟、近10分钟、近1小时、近3小时、近24小时、近3天或自定义时间段(时间点最早支持选择前30天,时间段最大支持选择3天)。
实现机制
慢 SQL 分析基于慢日志的离线采集与聚合:
1. 数据库按内核侧的慢日志阈值记录慢查询。
2. DBbrain 将慢日志采集后聚合到实例视图。
3. 按 SQL 模板归并展示,并提供对单条慢 SQL 的明细查看入口。
使用限制
慢日志阈值:慢 SQL 是否被采集取决于数据库内核侧的慢日志阈值,未达阈值的 SQL 不会进入分析。
时间范围:时间点最早支持选择前30天,时间段最大支持选择3天。
数据延迟:慢日志采集与聚合存在分钟级别的延迟,刚发生的慢 SQL 可能短暂未在分析页中出现。
单次查询/导出:明细列表单次查询返回结果上限为 100 条/页;导出单次最多 10000 条记录,超出部分需通过缩小时间范围再次导出。
注意事项
慢 SQL 分析中的 SQL 模板已对参数做了脱敏处理(参数被替换为占位符)。如需查看具体 SQL 文本,可在模板详情中查看代表性样本。
前提条件
已在 DBbrain 中接入 TDSQL Boundless 实例。
当前账号对该实例具备 DBbrain 查看权限。
操作步骤
查看慢 SQL 统计信息
1. 登录 DBbrain 控制台。
2. 在左侧导航栏,选择诊断优化,选择慢 SQL 分析页签。
3. 在页面上方选择 TDSQL Boundless 数据库类型,选择待分析的实例 ID。
4. 选择统计页签。
5. 选择时间范围,支持选择当天、近5分钟、近10分钟、近1小时、近3小时、近24小时、近3天或自定义时间段(时间点最早支持选择前30天,时间段最大支持选择3天)。
时间范围调整后,页面下方的所有统计与列表区域会按新的时间范围重新加载。
6. 查看 SQL 统计、分段耗时 SQL 分布和 SQL 列表。
SQL 统计趋势图
SQL 统计针对慢 SQL 数量与 CPU 平均使用率两项指标,可快速识别所选时间段内慢 SQL 数量持续偏高时 CPU 的使用情况,避免因慢查询数量过大引起 CPU 使用率过高,从而导致电脑卡顿或者无响应。
在趋势图中,单击存在慢 SQL 的时间段(即柱状图),视图中会显示慢 SQL 产生的时间点和个数。
单击存在慢 SQL 的某个时间段或拖拽鼠标选择多个时间段,分段耗时 SQL 分布和 SQL 列表将联动展示已选时间段的数据信息。

分段耗时 SQL 分布
展示已选时间段慢 SQL 总体耗时分布情况。
SQL 列表
按照 SQL 模板聚合展示已选时间段慢日志。
6.1.1 查看慢 SQL 列表。默认按总耗时降序排序。

单击某条聚合的慢 SQL ,可在右侧弹出的面板中查看日志统计信息和明细。
分析页签:您可查看完整的 SQL 模板、SQL 样例、优化建议、执行计划、可视化分析等分析信息,您可根据 DBbrain 给出的专家建议优化 SQL,提升 SQL 质量,降低延迟。 其中,在分析 > 执行计划页签,提供可视化的分析结果,可视化图可以放大,缩小,全屏显示,单击可视化图上的数字和图标,也可进一步查看详情。
SQL 模板与代表样本:展示完整的模板文本以及一条代表性样本(用于调优时参考);
执行耗时分布:以直方图或分布图形式展示该模板各次执行的耗时分布;
执行计划:展示该 SQL 的执行计划,便于识别全表扫描、缺失索引等问题;
执行明细:列出该模板每次执行的时间、耗时、扫描行数、返回行数等。

统计页签:展示该类型语句在您已选时段内总耗时占比、扫描行数占比,扫描行数,及耗时分布等。

明细页签:可查看详细的 SQL 执行明细信息。具体操作请参见 查看慢 SQL 明细。

SQL 列表还支持以下操作:
复制或查看命令模板:鼠标悬停至命令模板所在行,单击复制或查看。
单击列表表头参数项支持按照升序或降序排序:包括执行次数、总耗时、平均执行时间(s)等。
6.1.2 导出慢日志列表。
在慢日志列表右上方单击
,导出当前列表展示的所有慢日志统计数据。导出格式为.csv。

查看慢 SQL 明细信息
1. 登录 DBbrain 控制台。
2. 在左侧导航栏,选择诊断优化,选择慢 SQL 分析页签。
3. 在页面上方选择 TDSQL Boundless 数据库类型,选择待分析的实例 ID。
4. 选择明细页签。
5. 通过以下条件筛选查看明细 SQL 。
选择时间范围:支持选择当天、近5分钟、近10分钟、近1小时、近3小时、近24小时、近3天或自定义时间段(时间点最早支持选择前30天,时间段最大支持选择3天)。
选择数据库、选择用户、选择 IP、输入关键字等筛选条件。

明细列表还支持以下操作:
鼠标悬停至 SQL 语句处,支持查看和复制 SQL 语句。
在列表上方单击
,可导出格式为.csv 的明细列表。一次最多只能导出10000条记录,超出部分请通过缩小时间范围的方式导出。

联动其他分析功能
在慢 SQL 分析页面中,可结合其他分析能力进一步排查:
单击异常诊断页签,查看该时间范围内是否存在与慢 SQL 相关的资源类告警。
单击实时会话页签,确认当前是否仍有相同模板的会话在执行。
单击空间分析页签,对慢 SQL 涉及的库表进行空间评估。
后续步骤
针对识别出的高耗时模板,结合执行计划进行索引优化或 SQL 重写。
优化后回到本页面对比优化前后的执行次数与耗时变化,验证优化效果。
相关操作
异常诊断
性能趋势
实时会话
空间分析
常见问题
Q1:为什么有些慢 SQL 没出现在列表里?
慢 SQL 是否被采集取决于数据库内核侧的慢日志阈值,仅高于阈值的 SQL 才会进入慢日志并被分析。此外,刚发生的慢 SQL 由于采集延迟可能短暂未出现,稍后刷新即可。
Q2:语义相同但参数不同的慢 SQL 会被合并展示吗?
慢 SQL 分析按 SQL 模板(参数已被占位符替换)做聚合统计,参数不同但语义相同的 SQL 会归并到同一模板下,便于评估该模板对实例整体性能的影响。