You need to enable JavaScript to run this app.
导航
全量 SQL 洞察管理
最近更新时间:2024.11.20 15:41:24首次发布时间:2024.07.02 17:24:03

数据库工作台 DBW 提供全量 SQL 洞察功能,该功能可以捕获、审查和分析所有的 SQL 语句,以此来帮助您提升数据库的性能和稳定性。本文介绍全量 SQL 洞察的注意事项、优势和开启、关闭、查看的操作步骤。

背景信息

全量 SQL 洞察功能支持自动记录和分析数据库内核生成的 SQL 语句,包括执行账号、IP 地址和执行详情等信息。其中 SQL语句类型包括 SELECTINSERTUPDATEDELETEALTERCREATEDROPRENAMETRUNCATEOTHER(其他全部 SQL 类型)。

优势

  • CPU 消耗低:SQL 语句是数据库内核生成的,对系统的 CPU 资源消耗非常低。

  • 提供全面视角:全量 SQL 洞察可以捕获和分析所有在数据库实例中运行的所有 SQL 语句,为您提供全面的视角,可以用于发现数据库实例的性能瓶颈。

  • 问题定位和诊断:通过对实时监控和历史趋势的分析,全量 SQL 洞察可以帮助您定位和诊断数据库实例的问题,例如慢查询、并发死锁等。

  • 优化数据库结构:全量 SQL 洞察功能可提供查看哪些表被经常使用,哪些 SQL 语句最耗费资源等信息,从而帮助您改进数据库的结构。

  • 提升数据库的可用性和稳定性:全量 SQL 洞察可以帮助您更好地了解数据库实例的整体运行状况,从而提升数据库的可用性和稳定性。

注意事项

  • 仅 3.4.2 及后续内核版本支持开启全量 SQL 洞察,您可以执行以下命令查看实例的内核版本,如需升级请提交工单联系技术支持:

    select @@byte_rds_version;
    
  • 推广期内支持免费存储 1 天。推广期后的存储费用由存储时长决定。具体收费信息,请参见日志服务的计费规则

  • 关闭全量 SQL 洞察时,所有的存储数据都将被清空,请在删除前请将所有数据都下载至本地,否则可能会导致数据丢失。

  • 当实例被删除时,该实例的全量 SQL 洞察功能将被自动关闭。

  • 全量 SQL 洞察中记录的 SQL 语句最大长度为 4096 字节,超过部分不再记录。其中云数据库 MySQL 版实例记录的 SQL 语句最大长度受参数控制:

    • 当参数取值小于等于 4096 字节时,SQL 语句最大长度为参数设定值,超过部分不再记录。由于信息采集处理时会增加前缀标注,实际记录的 SQL 语句最大长度略小于参数设定值。

    • 当参数取值大于 4096 字节时,SQL 语句最大长度为 4096 字节,超过部分不再记录。由于信息采集处理时会增加前缀标注,实际记录的 SQL 语句最大长度略小于 4096 字节。

费用

全量 SQL 洞察功能暂不计费。

前提条件

已创建云数据库 MySQL 版实例。详细操作,请参见创建实例

开启全量 SQL 洞察

  1. 登录 DBW 控制台

  2. 在顶部菜单栏,选择项目和地域。

  3. 在左侧导航栏,选择运维管理 > 观测诊断

  4. 运维观测页面左上角,单击下拉图标,选择目标实例。

    说明

    支持通过实例 ID 搜索切换目标实例。

  5. 在目标实例页面,单击全量 SQL 洞察

  6. 全量 SQL 洞察页签,设置以下参数信息:

    参数说明
    SQL 存储时长全量 SQL 数据默认存储时长为 1 天,且不支持修改。
    存储 SQL 类型默认支持勾选全部 SQL 类型,即存储所有 SQL 类型。您也可以按需勾选 SELECTINSERTUPDATEDELETEALTERCREATEDROPRENAMETRUNCATEOTHER(其他全部 SQL 类型)。
    SQL 存储费用推广期内支持免费存储 1 天。推广期后的存储费用由存储时长决定。具体收费信息,请参见日志服务的计费规则

    标签

    标签用于标记资源,便于搜索和资源聚合。单击添加一行,设置标签键和标签值,为实例添加标签。标签键和标签值的配置规则如下:

    • 不支持设置以任何形式的 volc: 为开头的 Key,例如 Volc:VOLC: 等。

    • 可以包含语言字符、数字、空格和英文符号,英文符号包括 _.:/=+-@

    • 长度需在 1~128 个字符内。

    • 使用 UTF-8 编码的 Unicode 格式。

    说明

    • 单次最多支持绑定 20 个标签,单个实例最多绑定 50 个标签。如需对标签进行统一管理,请参考标签管理

    • 同一个资源拥有的标签 Key 不可重复,且一个标签 Key 只有一个 Value。

    协议阅读并勾选我已阅读并同意《数据库工作台 DBW 服务条款》
  7. 单击开启全量 SQL 洞察

设置全量 SQL 洞察

  1. 登录 DBW 控制台

  2. 在顶部菜单栏,选择项目和地域。

  3. 在左侧导航栏,选择运维管理 > 观测诊断

    1. 在页面右上角的下拉列表中,选择目标数据库类型即云数据库 MySQL 版

    2. 在页面左上角下拉列表中,选择目标实例。

  4. 运维观测页面,单击全量 SQL 洞察

  5. 全量 SQL 洞察页签,单击服务设置

  6. 服务设置对话框,您可以进行以下操作:

    参数说明
    关闭全量 SQL 洞察关闭全量 SQL 洞察时,所有的存储数据都将被清空,请在删除前请将所有数据都下载至本地,否则可能会导致数据丢失。

    设置标签

    标签用于标记资源,便于搜索和资源聚合。单击标签后的编辑图标,设置标签键和标签值,为实例添加标签。标签键和标签值的配置规则如下:

    • 不支持设置以任何形式的 volc: 为开头的 Key,例如 Volc:VOLC: 等。

    • 可以包含语言字符、数字、空格和英文符号,英文符号包括 _.:/=+-@

    • 长度需在 1~128 个字符内。

    • 使用 UTF-8 编码的 Unicode 格式。

    说明

    • 单次最多支持绑定 20 个标签,单个实例最多绑定 50 个标签。如需对标签进行统一管理,请参考标签管理

    • 同一个资源拥有的标签 Key 不可重复,且一个标签 Key 只有一个 Value。

  7. 单击确定

查看全量 SQL 信息

  • 最多可查询 30 天内的 SQL 洞察信息,且查询的最长跨度时间不能超过 24 小时。

  • 在全量 SQL 洞察功能中不仅支持查看全量 SQL 的趋势、SQL 模板还包括 SQL 明细。

  1. 登录 DBW 控制台

  2. 在顶部菜单栏,选择项目和地域。

  3. 在左侧导航栏,选择运维管理 > 观测诊断

  4. 运维观测页面左上角,单击下拉图标,选择目标实例。

    说明

    支持通过实例 ID 搜索切换目标实例。

  5. 在目标实例页面,单击全量 SQL 洞察

  6. 全量 SQL 洞察页签,查看全量 SQL 洞察信息、SQL 明细和 SQL 写分析,具体如下所示:

    类型说明

    全量 SQL 洞察

    全量 SQL 洞察页签的全量 SQL 洞察子页签,查看实例内 SQL 的发展趋势和 SQL 模板列表,具体如下所示:

    • 区间查看全量 SQL 洞察信息

      全量 SQL 洞察页签的全量 SQL 洞察子页签,按需选择需要查看全量 SQL 洞察的时间范围,最长查询时间跨度不能超过 24 小时,查看选定时间段内实例的 SQL 发展趋势和 SQL 模板列表,具体如下所示:

      • 全量 SQL 趋势:在全量 SQL 趋势区域,您可以查看以下信息

        • 执行耗时分布:支持按需勾选查看包括 CPU TimeThreadScheduleTimeThreadWaitTimeRowLockWaitTimeMDLWaitTimeLatchWaitTimeSocketSendTimeCCLWaitTimeTRXCommitTime 指标项在各时间点的发展趋势。

        • 执行耗时分布:支持查看各时间点执行 SQL 耗时的发展趋势。

        • 执行次数:支持查看各时间点的执行总次数的发展趋势。

      • SQL 模板列表:在 SQL 模板列表区域,您可以查看每个 SQL 模板的平均 SQL 执行耗时SQL 耗时数据库名称TotalExecTimeCountTRXCommitTime平均 CPUTime平均 RowLockWaitTime平均 MDLWaitTime平均 LatchWaitTime平均 TRXCommitTime平均 CCLWaitTime平均 SocketSendTime平均 ThreadScheduleTime平均 ThreadWaitTime平均影响行数平均扫描行数平均返回行数平均发送字节数平均逻辑页读取次数平均 IO 读取字节数平均 IO 读页面数平均磁盘临时表数量

        单击 SQL 模板,在 SQL 详情控制面板,查看该 SQL 模板的执行次数执行耗时影响行数返回行数SQL 模板SQL 文本SQL 优化

        说明

        • CPUTimeSocketSendTimeRowLockWaitTimeThreadScheduleTimeThreadWaitTimeMDLWaitTimeLatchWaitTimeCCLWaitTime影响行数扫描行数返回行数发送字节数逻辑页读取次数IO 读取字节数IO 读页面数磁盘临时表数量均为指定时间内的平均值。
        • SQL 优化建议对话框,查看 SQL 优化建议包括执行的 SQL 语句、执行计划优化建议包括索引优化SQL 改写
    • 对比查看全量 SQL 洞察信息

      全量 SQL 洞察子页签,勾选时间对比,按需选择需要对比查看全量 SQL 洞察的时间段,查看执行耗时阶段执行耗时分布执行次数和对比时间段内的 SQL 模版列表等信息。

    说明

    • ThreadScheduleTime:内核维度的运行时(RT)时间。

    • 您也可以单击目标 SQL 文本操作列的查看执行计划,在执行计划对话框查看更多信息。

    SQL 明细

    SQL 明细子页签,您可以查看 SQL 语句明细,SQL 语句的明细包括执行耗时SQL 耗时(ms数据库名称SQL 语句SQL 类型会话 ID用户名客户端 IP表名开始时间CPUTimeRowLockWaitTimeMDLWaitTimeLatchWaitTimeTRXCommitTimeCCLWaitTimeSocketSendTimeThreadScheduleTimeThreadWaitTime影响行数扫描行数返回行数发送字节数逻辑页读取次数IO 读取字节数IO 读页面数磁盘临时表数量。您也可以单击高级筛选,筛选符合条件的 SQL 语句。

    说明

    您也可以单击目标 SQL 语句操作列的查看执行计划,在执行计划对话框查看更多信息。

    写分析

    通过写分析,您可以全面监控和分析数据库的写入操作。
    写分析子页签,您可以按需查看指定时间(最长查询时间跨度不能超过 24 小时)、指定数据库和表内数据库的写入操作,包括表名数据库名称执行次数SQL 平均耗时DML 总执行时间DML 执行次数DML 平均执行耗时DML 平均扫描行DML 平均影响行数DML 平均 InnoDB 行锁等待时间DML 平均 MDL 锁等待时间DML 最大执行耗时DDL 总执行时间DDL 执行次数DDL 平均执行耗时DDL 平均扫描行DDL 平均影响行数DDL 平均 InnoDB 行锁等待时间DDL 平均 MDL 锁等待时间DDL 最大执行耗时
    同时,您也可以单击目标表的表名,查看关于表的更多信息,具体如下所示:

    • DML:在目标表控制面板的 DML 子页签,您可以查看在指定时间内表内执行的 DML 明细,包括 DML 的执行次数总耗时影响行数

    • DDL:在目标表控制面板的 DDL 子页签,您可以查看在指定时间内表内执行的 DDL 明细,包括 DDL 的执行次数总耗时影响行数

    • SQL 模版列表:在目标表控制面板的 SQL 模版区域,您可以查看在指定时间内表内每个 SQL 模版的平均 SQL 执行耗时SQL 耗时(ms)SQL 模版SQL 类型数据库名称表名TotalExecTimeCount平均 CPUTime平均 RowLockWaitTime平均 MDLWaitTime平均 LatchWaitTime平均 TRXCommitTime平均 CCLWaitTime平均 SocketSendTime平均 ThreadScheduleTime平均 ThreadWaitTime平均影响行数平均扫描行数平均返回行数平均发送字节数平均逻辑页读取次数平均 IO 读取字节数平均 IO 读页面数平均磁盘临时表数量

      单击 SQL 模板,在 SQL 详情控制面板,查看表级别 SQL 模板的执行次数执行耗时影响行数返回行数SQL 模板SQL 文本

下载全量 SQL

  1. 登录 DBW 控制台

  2. 在顶部菜单栏,选择项目和地域。

  3. 在左侧导航栏,选择运维管理 > 观测诊断

  4. 运维观测页面左上角,单击下拉图标,选择目标实例。

    说明

    支持通过实例 ID 搜索切换目标实例。

  5. 在目标实例的全量 SQL 洞察页签,按需下载 SQL 数据:

    • 下载所有 TOP SQL

      1. 全量 SQL 洞察子页签的 SQL 模板区域,单击下载图标。

      2. 导出所有 TOP SQL 对话框,按需勾选需要导出的数据库实例字段。

      3. 单击确定

    • 下载所有全量 SQL 明细

      1. SQL 明细子页签,单击下载图标。

      2. 导出对话框,按需勾选需要导出的数据库实例字段。

      3. 单击确定

    • 下载表内全量 SQL 写分析

      1. 写分析子页签,按需设置时间、数据库名称和表名。

      2. 单击目标表的名称。

      3. 在目标表详情控制面板,单击下载图标。

      4. 导出所有 TOP SQL 对话框,按需勾选需要导出的列表字段。

      5. 单击确定