当在数据库运行过程中,不可避免会遇到各类慢 SQL,除了通过系统表 SLOW_LOG 查看慢 SQL 外。云数据库 MySQL 还支持通过控制台查看实例运行的慢 SQL 明细。本文将介绍分析引擎慢 SQL 查看与配置。
慢 SQL 明细
可在实例列表,找到需要查看慢 SQL 的只读分析引擎。在实例详情页面点击慢 SQL 明细,在列表中即可查看只读分析引擎的慢日志明细。

在慢日志明细列表下,默认展示当天所产生的所有慢 SQL 信息。慢日志最大保存30天。
如果 SQL 太长会被截断。可通过参数 libra_query_log_max_len 控制记录的慢 SQL 文本长度。
字段名称 | 含义 |
开始执行时间 | 代表当前 SQL 开始执行时间。 |
节点 ID | 代表当前 SQL 在哪一个分析引擎节点中执行的。 |
SQL 语句 | SQL 文本,默认最大显示4MB的 SQL 文本,超过会被截断。但如果超大的 SQL 过多会导致前端无法正常加载。 |
客户端地址 | 代表访问至分析引擎的客户端地址信息。 |
用户名 | 代表是哪一个用户执行的此 SQL。 |
执行时长 | 代表当前 SQL 执行的时长,单位为秒(s),支持排序。 |
返回行数 | 代表当前 SQL 最终返回的数据行数。 |
SQL 解析时间 | 此值为高级信息,默认不展示,可通过右上角设置按钮打开显示。此值代表当前 SQL 的 parser 时间, 单位为秒(s)。 |
SQL 编译时间 | 此值为高级信息,默认不展示,可通过右上角设置按钮打开显示。此值代表当前 SQL 的编译时间, 单位为秒(s)。 |
SQL 改写时间 | 此值为高级信息,默认不展示,可通过右上角设置按钮打开显示。此值代表当前 SQL 的优化器改写时间, 单位为秒(s)。 |
SQL 调优时间 | 此值为高级信息,默认不展示,可通过右上角设置按钮打开显示。此值代表当前 SQL 的优化器调优时间, 单位为秒(s)。 |
是否软解析 | 此值为高级信息,默认不展示,可通过右上角设置按钮打开显示。此值代表当前 SQL 是否为软解析,直接命中了plan cache。 |
是否使用固定执行计划 | 此值为高级信息,默认不展示,可通过右上角设置按钮打开显示。此值代表当前 SQL 是否使用的是固定执行计划,确定此 SQL 是否有做执行计划绑定。 |
调整慢 SQL 记录阈值
默认超过300ms的 SQL 才会被记录为慢 SQL。可在慢 SQL 明细页面,单击慢 SQL 阈值,修改慢 SQL 记录的时间,可修改的范围为:300 - 9223372036854775807 的整数,单位:毫秒(ms)。用户可根据实际业务需求,修改需要被记录的慢 SQL 阈值。

SQL 分析报告
在操作列中包含了生成分析报告的功能,通过单击生成分析报告可以为此 SQL 生成当时 SQL 执行时的运行信息。可详细地查看当时 SQL 执行时使用的执行计划,以及算子执行情况。用户可通过 SQL 分析报告详细地分析 SQL 的执行情况,更有利于对 SQL 进行调优。
注意:
旧版本(2.2410.12.0与3.2503.6.0之前的版本)无法生成 SQL 分析报告,如在控制台无法生成 SQL 分析报告,请联系腾讯云申请实例版本升级。
单击生成分析报告后,需等待一段时间(约5分钟)即可生成此 SQL 的分析报告。生成后,单击下载分析报告按钮下载详细的 SQL 分析报告。
分析报告的下载链接为临时下载链接,默认保留1分钟,请在1分钟内及时下载此分析报告。如超过时间,则需要重新生成分析报告。详细的分析报告解读请参考 查看 SQL 分析报告。