慢SQL

PolarDB MySQL版提供慢SQL分析功能,能够查看慢日志趋势和统计信息,并且提供SQL建议和诊断分析。

操作步骤

  1. 登录PolarDB控制台

  2. 在左侧导航栏单击集群列表

  3. 在左上角,选择集群所在地域。

  4. 找到目标集群,单击集群ID。

  5. 在左侧导航栏中,选择诊断与优化 > 慢 SQL

  6. 慢日志分析页签,选择需要查看的时间段,查看该时间段内慢日志趋势慢日志统计慢日志明细

    说明

    选择时间范围时,查询结束时间需晚于查询开始时间,且查询开始时间和查询结束时间的间隔不能超过一天,您可以查询最近一个月内的慢日志信息。

    • 您可以在慢日志趋势图中单击某个时间点,查看该时间点的慢日志统计慢日志明细

    • 您可以在节点列表区域,查看每个节点的慢请求数量。

    • 您可以单击导出慢日志,将慢日志信息保存到本地查看。

    • 慢日志统计区域:

      • 单击目标SQL模板操作列的样本,查看该SQL的慢日志样本

      • 单击目标SQL模板操作列的优化,在弹出的SQL诊断优化对话框中,查看SQL诊断结果。

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

        说明

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

        您也可以单击专家服务,付费购买数据库专家服务,为您提供云数据库产品本身能力范围之外的专业的数据库专家服务,主要包括紧急救援、健康诊断、性能调优、护航保障、数据迁移等。

      • 单击目标SQL模板操作列的限流,在SQL限流页面配置限流参数,对目标SQ进行限流。详细操作请参见SQL限流

      • 单击目标SQL模板操作列的IMCI,查看列存索引(IMCI)的相关文档。

        说明
        • 当数据库实例未购买列存索引节点,且慢日志的最大执行时间超过20秒,最大扫描行超过20万行时,显示IMCI按钮。

        • 对于大数据量复杂查询,推荐使用列存索引(IMCI)提升查询性能。

    • 慢日志明细区域,单击目标SQL操作列的优化限流,也可对目标SQL进行SQL诊断优化SQL限流

    慢日志

常见问题

Q:为什么会出现慢日志记录的SQL执行完成时间与SQL语句的实际执行时间不同?

A:通常情况下是执行SQL语句修改了时区。慢日志记录的SQL执行时间的时区,存在会话级别、数据库级别和系统级别。慢日志时间设置逻辑为:当数据库存在时区时,以数据库的时区为准,否则以系统时区为准。当通过SQL语句修改了会话级别的时区时,可能导致慢日志记录的时区无法正常转换。

相关API

API

说明

DescribeSlowLogRecords - 查看慢日志明细

查看PolarDB MySQL版集群的慢日志明细。

DescribeDBClusterAuditLogCollector - 查询集群SQL采集功能

查看PolarDB MySQL版集群的SQL采集功能(例如审计日志、SQL洞察等)是否开启。

ModifyDBClusterAuditLogCollector - 开启或关闭集群的SQL采集功能

开启或关闭PolarDB MySQL版集群的SQL采集功能(例如审计日志、SQL洞察等)。