慢SQL

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

注意事项

慢日志的最大长度为16 KB,超过该长度的部分将被截断。

操作步骤

  1. 登录PolarDB控制台,在左侧导航栏单击集群列表,选择集群所在地域,并单击目标集群ID进入集群详情页。

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

  3. 选择需要查看的时间段,查看该时间段内慢日志趋势事件分布慢日志统计慢日志明细

    说明

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

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

      说明

      如果慢日志语句内容过长,没有完整展示,您可以将鼠标指针放置在对应的慢日志语句上,系统将以弹框的形式展示完整的慢日志语句。

    • 单击节点ID下拉框,可以查看每个节点的慢请求数量。

    • 事件分布区域:

      可以查询到指定时间范围内的慢日志事件,单击后可查询事件详情。

      image

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

    • 单击image,可携带当前已选择和输入的参数,跳转至OpenApi控制台,进行API调试。

    • 慢日志统计区域,单击目标SQL模板操作详情按钮,查看该SQL的慢日志详情。

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

常见问题

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

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

  • Q:为什么能够正常访问旧版慢日志,而访问新版慢日志时却会出现权限错误的提示(例如,NoPermissionForbidden.RAM)?

    A:新版慢日志页面经过重新设计,提供了更为强大的数据过滤和筛选功能,其所需的权限策略(Action)也与旧版慢日志有所不同。若您没有对应的权限策略,则无法正常访问新版慢日志页面。请参考RAM用户授权文档,为RAM用户授予如下权限策略:

    • 必要权限:慢日志趋势图数据(DescribeSlowLogHistogramAsync)、慢日志模板统计数据(DescribeSlowLogStatistic)、慢日志明细数据(DescribeSlowLogRecords)、事件中心数据(GetInstanceEventWithGroupType)、性能趋势数据(GetPerformanceMetrics)。

    • 建议权限:对SQL进行打标(CreateSqlTag)、获取SQL标签(DescribeDasQueryTagNames)。

相关API

API

说明

DescribeSlowLogRecords - 查看慢日志明细

查看集群的慢日志明细。

DescribeDBClusterAuditLogCollector - 查询集群SQL采集功能

查看集群的SQL采集功能是否开启。

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

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