SQL洞察功能可对SQL进行健康情况诊断、性能问题排查。本文介绍如何在SQL洞察和审计中进行SQL洞察的操作步骤。

前提条件

  • 在DAS中接入对应的数据库实例,并且接入状态显示为连接正常
  • 实例已开启DAS专业版,详情请参见DAS专业版
  • 目前支持如下数据库:
    • RDS MySQL高可用版、三节点企业版。
    • RDS PostgreSQL高可用版。
    • PolarDB MySQL单节点、历史库、集群版。
    • PolarDB PostgreSQL集群版。

背景信息

开启SQL洞察功能可以记录所有DQL、DML和DDL操作信息,这些信息是通过数据库内核输出,对系统CPU消耗极低。

操作步骤

  1. 登录DAS控制台
  2. 在左侧导航栏单击实例监控,进入实例监控页。
  3. 实例监控页,单击目标实例名称进入目标实例详情页。
  4. 在左侧导航栏单击SQL洞察和审计,然后在右侧打开的页面单击SQL洞察
    0
  5. 根据需要选择对应的能功项:
    • 区间查看:选择需要查看SQL洞察结果的时间范围,您可以查看选定时间范围内所有SQL的执行耗时分布执行耗时执行次数。您还可以在全量请求统计区域内查看选定时间范围内所有SQL的详细信息,并可以将其导出到本地。
      说明 单次最多可导出1000万行数据,详情请参见全量请求分析
    • 对比查看:选择需要对比SQL洞察结果的时间点,您可以查看所有SQL执行耗时分布执行耗时执行次数的对比结果。您还可以在请求对比列表区域内查看详细的对比结果。
    • 来源统计:选择需要统计SQL来源的时间范围,你可以查看选定时间范围内所有SQL的来源信息。
    • SQL Review:通过该功能,系统基于所有的SQL和全局Wokload,对选定时间内的SQL进行聚合、分析和诊断,给您提供新增索引建议SQL改写建议问题SQL,支撑您对问题SQL进行优化。
    • 相关SQL识别:选择需要查看的指标,单击分析按钮,经过1~5分钟的时间,即可以定位到在选定时间范围内和相关指标变化趋势最相似的SQL及其详细信息。

说明

  • 执行耗时分布执行耗时分布展示了选定时间范围内,所有SQL的执行耗时分布,将执行耗时分为了7个区间,每分钟计算一次,分别是:
    • [0,1]ms 是指满足0ms ≤ 执行耗时 ≤ 1ms SQL执行次数占比
    • (1,2]ms 是指1ms < 执行耗时 ≤ 2ms SQL执行次数占比
    • (2,3]ms 是指2ms < 执行耗时 ≤ 3ms SQL执行次数占比
    • (3,10]ms 是指3ms < 执行耗时 ≤ 10ms SQL执行次数占比
    • (10,100]ms 是指10ms < 执行耗时 ≤ 100ms SQL执行次数占比
    • (0.1,1]s 是指0.1s < 执行耗时 ≤ 1s SQL执行次数占比
    • >1s 是指1s < 执行耗时 SQL执行次数占比
    说明 若一个实例的执行耗时分布越接近蓝色,代表这个实例的SQL健康情况越好,越接近橙色和红色,代表这个实例的SQL健康情况越差。
  • 执行耗时(SQL RT):通过执行耗时,可以方便地查看在选定的时间范围内,SQL的执行耗时。
  • SQL列表SQL列表展示了选定时间范围内每一类SQL的SQL文本、耗时比例、平均执行耗时、执行趋势等信息。
    说明 耗时比例=(该类SQL执行耗时 × 执行次数)/(所有SQL执行耗时 × 总执行次数)× 100%。耗时比例越高的SQL,占用MySQL资源越多。
  • SQL ID:单击SQL ID,您可查看该类SQL性能趋势、SQL样本等。
  • SQL样本:通过SQL样本,查看该SQL是由哪个应用端发起。
    说明 SQL样本的编码采用UTF-8字符集。