SQL优化

数据库自治服务DAS提供SQL优化功能,自动输出诊断结果、优化建议和预期优化收益,您可以根据诊断结果确认是否采纳建议。本文介绍如何使用SQL优化功能。

前提条件

  • 数据库引擎为:

    • RDS MySQL

    • 自建MySQL

    • MyBase MySQL

    • RDS PostgreSQL

    • PolarDB MySQL版

      说明

      暂不支持PolarDB MySQL版的单节点集群(原单节点实例)。

    • PolarDB-X 2.0

      说明

      不支持大版本为5.4.13,小版本在[16415631,16504348]范围内的PolarDB-X 2.0实例。查看PolarDB-X 2.0实例版本请参见查看和升级实例版本

  • 目标实例已经接入DAS,详情请参见实例接入简介

  • 目标实例的接入状态为接入正常

功能限制

不支持对使用X-Engine表的SQL进行诊断和优化。

在慢日志分析页面进行SQL优化

  1. 登录DAS控制台

  2. 在左侧导航栏中,单击实例监控

  3. 找到目标实例,单击实例ID,进入目标实例详情页。

  4. 在左侧导航栏中,单击请求分析 > 慢日志

  5. 慢日志分析页面:

    • 慢日志统计页签,单击目标SQL模板右侧操作列的优化

    • 慢日志明细页签,单击目标SQL右侧操作列的优化

  6. 在弹出的SQL诊断优化对话框中,查看SQL诊断结果。

    若您采纳诊断建议,单击页面右上角的复制,并将优化后的SQL粘贴到数据库客户端或DMS上执行,若不采纳诊断建议,可直接单击取消结束诊断。

    说明

    DAS会根据SQL的复杂程度、对应表的数据量、数据库负载等进行SQL诊断,诊断建议的返回时间可能会超过20秒。完成诊断后,SQL诊断引擎会给出诊断结果、优化建议和预期优化收益,您可以根据诊断结果确认是否采纳建议。

    SQL诊断优化

在实例会话页面进行SQL优化

重要

当前自建MySQL、MongoDB和RDS PostgreSQL数据库实例不支持在实例会话页面进行SQL优化。

  1. 登录DAS控制台

  2. 在左侧导航栏中,单击实例监控

  3. 找到目标实例,单击实例ID,进入目标实例详情页。

  4. 在左侧导航栏中,单击实例会话

  5. 实例会话区域,选中需要进行SQL优化的会话,单击优化

  6. 在弹出的SQL诊断优化对话框中,查看SQL诊断结果。

    若您采纳诊断建议,单击页面右上角的复制,并将优化后的SQL粘贴到数据库客户端或DMS上执行,若不采纳诊断建议,可直接单击取消结束诊断。

    说明

    DAS会根据SQL的复杂程度、对应表的数据量、数据库负载等进行SQL诊断,诊断建议的返回时间可能会超过20秒。完成诊断后,SQL诊断引擎会给出诊断结果、优化建议和预期优化收益,您可以根据诊断结果确认是否采纳建议。

    SQL诊断优化

查看SQL诊断历史

  1. 登录DAS控制台

  2. 在左侧导航栏中,单击实例监控

  3. 找到目标实例,单击实例ID,进入目标实例详情页。

  4. 在左侧导航栏中,单击请求诊断历史。查看当前实例的SQL诊断历史(如SQL内容、诊断状态、诊断时间、诊断结果等)。