You need to enable JavaScript to run this app.
文档中心
数据库工作台

数据库工作台

复制全文
下载 pdf
日志管理
慢日志诊断管理
复制全文
下载 pdf
慢日志诊断管理
数据库工作台 DBW 提供慢日志诊断功能,该功能分析前一日产生的 Top 200 慢日志,并提供诊断结果和优化建议,以此来帮助您提升数据库的性能和稳定性。
本文介绍如何在数据库工作台 DBW 控制台开启慢日志诊断功能以及查看慢日志的诊断结果和优化建议的操作步骤。
功能介绍
在慢日志分析中,DBW 每天采集数据库中的慢日志信息。慢日志诊断功能在每天的早上 8 点左右对前一日采集到的慢日志中的 Top 200 慢日志信息进行分析诊断,并提供诊断结果。
诊断结果中,DBW 提供对索引创建和 SQL 改写的建议,并给出推荐程度。
说明
  • 总耗时占比,即在前一日采集到的所有慢日志中,当前 SQL 查询时间占总 SQL 查询时间的百分比。
  • 单个 SQL 模板优化后预估性能提升倍数 = 当前 SQL 模板优化前执行耗时/当前 SQL 模板优化后执行耗时。
  • 总耗时占比收益 = 单个 SQL 模板优化后预估性能提升倍数 * 当前 SQL 模板优化前总耗时占比。
推荐程度
说明
极高
预估优化后总耗时占比收益 15% 及以上,则推荐力度为极高。
预估优化后总耗时占比收益 10% 及以上,则推荐力度为高。
预估优化后总耗时占比收益 5% 及以上,则推荐力度为中。
预估优化后总耗时占比收益 5% 以下,则推荐力度为低。
您可以参考 SQL 列表中的推荐程度、总耗时占比等参考因子,对是否创建索引和改写 SQL 做出决策。
优化建议
参考因子
索引创建建议
推荐程度、优化后预估平均执行时间(s)、优化后预估性能提升倍数和总耗时占比
SQL 改写建议
推荐程度和总耗时占比
费用
慢日志诊断功能当前处于免费公测中,正式收费前,将提前一个月通知。
前提条件
  • 已创建云数据库 MySQL 版实例和账号。详细操作,请参见创建实例账号
注意事项
  • 慢日志诊断功能不能分析当日产生的慢日志信息,因此开启慢日志诊断功能后,您可以在第二天早上 8 点后查看诊断结果。
  • 慢日志诊断仅对当前实例某日产生的 Top 200 慢日志(含 SelectUpdateDelete三种 SQL 类型的语句)记录进行分析和诊断。
  • 慢日志诊断功能需要使用数据库中的 SQL 信息,因此,如果您开启慢日志诊断功能,则表示您默认同意采集数据库中的 SQL 信息。
开启慢日志诊断
您可以在慢日志诊断页面为单个实例开启慢日志诊断,也在实例列表中为同一类型的实例批量开启慢日志诊断。
为单个实例开启慢日志诊断
批量开启慢日志诊断
  1. 登录 DBW 控制台
  1. 在顶部菜单栏,选择地域。
  1. 在左侧导航栏,选择运维管理 > 观测诊断
  1. 运维观测页面左上角,单击下拉图标,选择目标实例。
说明
支持通过实例 ID 搜索切换目标实例。
  1. 在目标实例页面,单击日志管理
  1. 日志管理页签,单击慢日志诊断。
  • 如果当前实例未开启慢日志诊断,则页面提示立即开启。
  1. 单击立即开启
  1. 慢日志诊断表单对话框,设置以下参数信息。
  • 参数
    说明
    开启慢日志诊断
    单击开启,开启慢日志诊断。
    诊断频率
    每日一次且不支持修改。开启慢日志诊断后,DBW 每日 8 点左右为前一日中产生的 Top 200 慢日志进行一次诊断。
    诊断范围
    前一天所有慢日志。
    DBW 自动诊断前一天中的 Top 200 慢日志。如在 2025.6.25 日,DBW 自动诊断 2025.6.24 日产生的 Top 200 慢日志,并给出诊断结果和优化建议。
    诊断历史保留时长
    慢日志诊断结果的保留时长,默认 30 天,且不可修改。
    优化性能追踪保留时长
    按照慢日志诊断结果中的优化建议优化 SQL 后,DBW 继续追踪 SQL 优化前后的性能变化情况。SQL 优化前后的性能变化数据默认保留认 30 天,且不可修改。
  1. 单击确定
关闭慢日志诊断
  1. 登录 DBW 控制台
  1. 在顶部菜单栏,选择地域。
  1. 在左侧导航栏,选择运维管理 > 观测诊断
  1. 在页面右上角的下拉列表中,选择目标数据库类型即云数据库 MySQL 版
  1. 在页面左上角下拉列表中,选择目标实例。
  1. 运维观测页面,单击日志管理
  1. 日志管理页签,单击慢日志诊断
  1. 慢日志诊断页签,单击服务设置
  1. 服务设置对话框,您可以进行以下操作:
  • 参数
    说明
    慢日志诊断
    单击关闭,关闭慢日志诊断。
  1. 单击确认
查看慢日志诊断结果
慢日志诊断将分析之前的产生的慢日志,并给出 SQL 优化建议,帮助您快速提升数据库性能。
  1. 登录 DBW 控制台
  1. 在顶部菜单栏,选择地域。
  1. 在左侧导航栏,选择运维管理 > 观测诊断
  1. 在页面右上角的下拉列表中,选择目标数据库类型即云数据库 MySQL 版
  1. 在页面左上角下拉列表中,选择目标实例。
  1. 运维观测页面,单击日志管理
  1. 日志管理页签,单击慢日志诊断
  • 慢日志诊断页面中,默认展示前一日的慢日志诊断结果。您也可以在慢日志诊断范围中设置查看某日的慢日志诊断结果。
  • 操作
    说明
    设置慢日志诊断范围
    DBW 默认展示前一日的慢日志诊断结果。您可以按需筛选指定日期的慢日志诊断数据。
    查看诊断结果概览
    设置好慢日志诊断范围后,您可以查看指定日期中的慢日志的诊断结果,包括慢 SQL 诊断总数建议优化 SQL 数建议创建索引 SQL 数建议改写 SQL 数无优化建议 SQL 数
    说明
    • 慢 SQL 诊断总数:前仅对实例内 Top 200 的慢日志记录进行诊断。
    • 慢 SQL 诊断总数 = 建议优化 SQL 数 + 无优化建议 SQL 数。
    • 建议优化 SQL 数 = 建议创建索引 SQL 数 + 建议改写 SQL 数。
    查看索引创建建议列表
    • 按模板维度查看慢日志信息:包括 SQL 模板优化推荐程度数据库表名IP 来源执行用户执行次数平均扫描行数平均返回行数推荐索引 SQL 文本平均执行时间 (s)优化后预估平均执行时间(s)优化后预估性能提升倍数总耗时占比
    • 按索引维度查看慢日志信息:包括推荐索引 SQL 文本SQL 模板优化推荐程度数据库表名IP 来源执行用户执行次数平均扫描行数平均返回行数平均执行时间 (s)总耗时占比
    说明
    云数据库 MySQL 版实例当前默认开启数据库代理,因此可能会存在连接池被复用,即一个连接被多个客户端共享,从而导致 IP 来源与实际的 IP 地址和端口不一致的情况。
    查看 SQL 改写建议列表
    包括 SQL 模板优化推荐程度数据库表名IP 来源执行用户执行次数平均扫描行数平均返回行数SQL 改写建议平均执行时间 (s)总耗时占比
    查看无优化建议 SQL 列表
    包括 SQL 模板优化推荐程度数据库表名IP 来源执行用户执行次数平均扫描行数平均返回行数平均执行时间 (s)总耗时占比建议信息
    查看 SQL 详情
    在 SQL 列表中,单击 SQL 模板的名称,打开 SQL 详情面板。
    SQL 详情面板,您可以根据不同页签查看相关参数信息:
    • 执行明细:在执行明细页签,您可以完成以下操作:
    • 查看每个 SQL 语句的的信息:包括 SQL 语句的开始时间SQL 文本数据库执行 UserIP 来源执行时间 (s)锁等待时间 (s)扫描行数返回行数
    • 说明
    • 云数据库 MySQL 版实例当前默认开启数据库代理,因此可能会存在连接池被复用,即一个连接被多个客户端共享,从而导致 IP 来源与实际的 IP 地址和端口不一致的情况。
    • 查看 SQL 优化建议:
    1. 单击目标 SQL 文本操作列的 SQL 优化,在允许授权对话框,单击授权
    • 索引优化建议功能需要对数据库和表的内容进行采样分析,因此首次查看 SQL 的索引优化建议时,您需要授权数据库工作台 DBW 读取数据库和表。如已开启,则无需再进行该操作。
    • 查看 SQL 索引优化建议大约需要 10 到 20 秒。
    1. SQL 优化建议对话框,查看 SQL 优化建议包括数据库名称和 SQL 语句执行计划优化建议优化建议包括索引优化SQL 改写
    • 执行统计:在执行统计页签,您可以查看 SQL 模板内符合筛选条件的所有 SQL 文本信息。
    • 总耗时占比:当前 SQL 模板的总耗时在某段时间内所有 SQL 列表总耗时的占比。
    • 总锁等待时间占比:在某段时间内当前 SQL 模板的总锁等待时长占所有 SQL 列表总锁等待时长的比例。
    • 总扫描行数占比:在某段时间内当前 SQL 模板的总扫描行数占所有 SQL 列表总耗时的比例。
    • 总返回行数占比:在某段时间内当前 SQL 模板的总返回行数占所有 SQL 列表总返回行数的比例。
    • SQL 执行次数: 查看符合筛选时间段内慢 SQL 的发展趋势。
    • 运行剖析:展示 SQL 语句在每个阶段内的运行情况,帮助您分析定位问题。
    • SQL 分析:在 SQL 分析页签,您可以查看以下信息。
    • SQL 文本:包括 SQL 模板内所有 SQL 文本信息,单击复制图标复制 SQL 文本。
    • 执行计划:包括 select_type 信息解读type 信息解读extra 信息解读等。
    • 优化建议:包括 SQL 语句的优化建议,您可以参考该建议优化您的 SQL 语句。
查看优化性能追踪数据
当生成慢日志诊断报告后, DBW 会继续追踪慢日志 7 天内的性能变化。如果您按照慢日志诊断结果中的优化建议优化 SQL 后,可以查看 SQL 优化后的性能提升情况。SQL 优化性能追踪数据默认保留认 30 天,且不可修改。
  1. 登录 DBW 控制台
  1. 在顶部菜单栏,选择地域。
  1. 在左侧导航栏,选择运维管理 > 观测诊断
  1. 在页面右上角的下拉列表中,选择目标数据库类型即云数据库 MySQL 版
  1. 在页面左上角下拉列表中,选择目标实例。
  1. 运维观测页面,单击日志管理
  1. 日志管理页签,单击慢日志诊断。慢日志诊断页面中,默认展示前一日的慢日志诊断结果。您也可以在慢日志诊断范围中设置查看某日的慢日志诊断结果。
  • 操作
    说明
    设置慢日志诊断范围
    DBW 默认展示前一日的慢日志诊断结果。您可以按需筛选指定日期的慢日志诊断数据。
    查看优化性能追踪数据
    当生成慢日志诊断报告后, DBW 会继续追踪慢日志 7 天内的性能变化。如果您按照慢日志诊断结果中的优化建议优化 SQL 后,可以查看 SQL 优化后的性能提升情况。您可以在优化性能追踪列表中查看巡检执行时间实例 IDSQL 模板建议优化执行情况是否创建索引慢 SQL 是否还存在优化后实际性能提升倍数优化前后执行次数差值优化前后 CPU 差值(%)以及优化前后平均执行时间差值
    说明
    • 优化后实际性能提升倍数大于 1,表示优化后是正收益。
    • 优化前后执行次数差值为负数时,表示优化后统计为慢日志的 SQL 数量减少。
    • 优化前后 CPU 差值为负数时,表示优化后实例 24 小时的 CPU 平均使用率降低。
    • 优化前后平均执行时间差值为负数时,表示优化后 SQL 平均执行时间减少。
相关操作
如果您需要创建索引,请参见创建无锁 SQL 变更工单
相关 API
API
描述
调用 ListSlowQueryAdviceApi 接口获取慢日志诊断详情信息。
调用 SlowQueryAdviceTaskHistoryApi 接口获取慢日志诊断历史信息。
最近更新时间:2026.09.01 14:02:01
这个页面对您有帮助吗?
有用
有用
无用
无用