DescribeSqlPatternCompareReport - 查询 SQL Pattern 对比报告详情

更新时间:
复制 MD 格式

查询 SQL Pattern 对比报告详情。

接口说明

按 MetricType 分页查询 SQL Pattern 对比报告详情。报告类型说明:

  • NEW:返回时间 2 新增的 Pattern,MetricValues 中返回 Time2。

  • CHANGED:返回两个时间窗口均存在且当前维度平均值增长的 Pattern,MetricValues 中返回 Avg、Sum、Max。

指标统计口径:

  • Sum:有效查询分钟桶的指标值总和。

  • Avg:有效查询分钟桶的指标值平均值。

  • Max:单分钟桶的指标值峰值。

指标单位:

  • QUERY_COUNT:次。

  • CPU_COST:秒。

  • SHUFFLE_SIZE、PEAK_MEMORY、SCAN_SIZE:GB。

说明
  • 仅 DetailEnabled 为 true 的报告可查询详情;未完成、已取消或已过期的报告不可查询。

  • Percent 结尾的字段已是百分数。时间 1 指标值为 0 时,ChangeRatePercent 可能不返回,不应视为 0%。

  • 报告按实例和阿里云主账号隔离。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

调试

授权信息

当前API暂无授权信息透出。

请求参数

名称

类型

必填

描述

示例值

RegionId

string

是

实例所在的地域 ID。

cn-beijing

DBClusterId

string

是

AnalyticDB for MySQL 实例 ID。

am-2ze1234567890****

ReportId

integer

是

SQL Pattern 对比报告 ID。

1001

MetricType

string

是

分析维度。取值说明:

  • QUERY_COUNT:查询执行次数。

  • CPU_COST:CPU 消耗。

  • SHUFFLE_SIZE:Shuffle 数据量。

  • PEAK_MEMORY:峰值内存消耗。

  • SCAN_SIZE:扫描数据量。

枚举值:

  • PEAK_MEMORY :

    峰值内存消耗

  • CPU_COST :

    CPU 消耗

  • QUERY_COUNT :

    查询执行次数

  • SHUFFLE_SIZE :

    Shuffle 数据量

  • SCAN_SIZE :

    扫描数据量

CPU_COST

PageNumber

integer

否

页码,从 1 开始。

默认值:1。

1

PageSize

integer

否

每页行数,取值范围:1~100。

默认值:50。

50

Order

string

否

将查询结果按指定字段排序。格式为 JSON 数组字符串,例如 [{"Field":"Time2SumValue","Type":"Desc"}]。数组中只能包含一个对象。其中:

  • Field 表示排序字段,区分大小写。取值说明:
    • NEW 报告:Time2SumValue、Time2AvgValue、Time2MaxValue。

    • CHANGED 报告:AvgChangeRatePercent、AvgTime1Value、AvgTime2Value、SumChangeRatePercent、SumTime1Value、SumTime2Value、MaxChangeRatePercent、MaxTime1Value、MaxTime2Value。

    • 所有报告类型和分析维度:AvgRt、MaxRt。

    • QUERY_COUNT:TotalQueryTime。

    • CPU_COST:QueryCount、AvgPlanningTime、MaxPlanningTime、AvgExecutionTime、MaxExecutionTime。

    • SHUFFLE_SIZE、PEAK_MEMORY:QueryCount。

    • SCAN_SIZE:QueryCount、TotalScanCost。

  • Type 表示排序方式,不区分大小写。取值说明:
    • Asc:升序排列。

    • Desc:降序排列。

说明
  • NEW 报告默认按照 Time2SumValue 字段降序排列。

  • CHANGED 报告默认按照 AvgChangeRatePercent 字段降序排列。

  • Field 必须适用于当前报告类型和 MetricType。

[{"Field":"AvgChangeRatePercent","Type":"Desc"}]

ChangeRate

string

否

CHANGED 报告的平均变化率筛选区间。格式为 left~right,数值单位为百分数,区间左开右闭。示例:

  • 100~500:大于 100% 且小于等于 500%。

  • 100~:大于 100%,无上限。

说明
  • 左边界必填且不得小于 0;右边界不得小于左边界。

  • NEW 报告忽略该参数。

  • 时间 1 指标值为 0、时间 2 大于 0 时,该 Pattern 属于零基线增长,将归入 SEVERE(严重变化)。如需排除此类 Pattern,请设置变化率上限。

100~500

IncludePattern

boolean

否

是否返回参数化后的 SQL Pattern 文本。取值说明:

  • true:返回 Pattern 文本。

  • false:不返回 Pattern 文本,可减少响应体积。

默认值:true。

true

返回参数

名称

类型

描述

示例值

object

指定报告和分析维度的详情分页结果。

Items

array<object>

当前页的 Pattern 详情;无符合条件的结果时为空数组。

array<object>

一条 SQL Pattern 的当前维度分析结果。

AvgExecutionTime

string

时间 2 的平均执行耗时展示字符串,单位为秒,仅 CPU_COST 维度返回。

0.4s

AvgPlanningTime

string

时间 2 的平均计划耗时展示字符串,单位为秒,仅 CPU_COST 维度返回。

0.1s

AvgRt

string

时间 2 的平均查询响应时间展示字符串,单位为秒。所有分析维度均返回。

0.5s

MaxExecutionTime

string

时间 2 的最大执行耗时展示字符串,单位为秒,仅 CPU_COST 维度返回。

1.8s

MaxPlanningTime

string

时间 2 的最大计划耗时展示字符串,单位为秒,仅 CPU_COST 维度返回。

0.2s

MaxRt

string

时间 2 的最大查询响应时间展示字符串,单位为秒。所有分析维度均返回。

2s

MetricValues

object

当前分析维度的主指标映射。键的取值说明:

  • QUERY_COUNT:查询执行次数。

  • CPU_COST:CPU 消耗。

  • SHUFFLE_SIZE:Shuffle 数据量。

  • PEAK_MEMORY:峰值内存消耗。

  • SCAN_SIZE:扫描数据量。

说明

每条结果仅包含与请求参数 MetricType 一致的一个键。

object

一个主指标的统计结果。不同报告类型返回的字段如下:

  • NEW 报告:返回 Time2。

  • CHANGED 报告:返回 Avg、Sum、Max。

Avg

object

CHANGED 报告的有效查询分钟桶平均值双窗口对比,仅 CHANGED 返回。

ChangeRatePercent

number

有效查询分钟桶平均值变化率,计算为(时间 2 值-时间 1 值)/时间 1 值×100,200 表示增长 200%。时间 1 为 0 时无法计算有限变化率,此字段可能不返回,不能视为 0%。

200

Time1DisplayValue

string

时间 1 的有效查询分钟桶平均值展示字符串,含单位。

1s

Time1RatioPercent

number

此 Pattern 的时间 1 有效查询分钟桶平均值占当前报告、当前维度筛选前所有结果对应统计值之和的百分比,10 表示 10%。

10

Time1Value

number

时间 1 的有效查询分钟桶平均值。数值单位由 MetricCode 决定:QUERY_COUNT 为次,CPU_COST 为秒,SHUFFLE_SIZE、PEAK_MEMORY、SCAN_SIZE 为 GB(按 1 GB = 1024³ 字节换算)。

1

Time2DisplayValue

string

时间 2 的有效查询分钟桶平均值展示字符串,含单位。

3s

Time2RatioPercent

number

此 Pattern 的时间 2 有效查询分钟桶平均值占当前报告、当前维度筛选前所有结果对应统计值之和的百分比,10 表示 10%。

10

Time2Value

number

时间 2 的有效查询分钟桶平均值。数值单位由 MetricCode 决定:QUERY_COUNT 为次,CPU_COST 为秒,SHUFFLE_SIZE、PEAK_MEMORY、SCAN_SIZE 为 GB(按 1 GB = 1024³ 字节换算)。

3

Max

object

CHANGED 报告的单分钟桶峰值双窗口对比,仅 CHANGED 返回。

ChangeRatePercent

number

单分钟桶峰值变化率,计算为(时间 2 值-时间 1 值)/时间 1 值×100,200 表示增长 200%。时间 1 为 0 时无法计算有限变化率,此字段可能不返回,不能视为 0%。

200

Time1DisplayValue

string

时间 1 的单分钟桶峰值展示字符串,含单位。

3s

Time1Value

number

时间 1 的单分钟桶峰值。数值单位由 MetricCode 决定:QUERY_COUNT 为次,CPU_COST 为秒,SHUFFLE_SIZE、PEAK_MEMORY、SCAN_SIZE 为 GB(按 1 GB = 1024³ 字节换算)。

3

Time2DisplayValue

string

时间 2 的单分钟桶峰值展示字符串,含单位。

9s

Time2Value

number

时间 2 的单分钟桶峰值。数值单位由 MetricCode 决定:QUERY_COUNT 为次,CPU_COST 为秒,SHUFFLE_SIZE、PEAK_MEMORY、SCAN_SIZE 为 GB(按 1 GB = 1024³ 字节换算)。

9

MetricCode

string

主指标编码,与 MetricValues 的键和请求参数 MetricType 一致。取值说明:

  • QUERY_COUNT:查询执行次数。

  • CPU_COST:CPU 消耗。

  • SHUFFLE_SIZE:Shuffle 数据量。

  • PEAK_MEMORY:峰值内存消耗。

  • SCAN_SIZE:扫描数据量。

CPU_COST

MetricName

string

主指标名称。对应关系如下:

  • QUERY_COUNT:QueryCount。

  • CPU_COST:OperatorCost。

  • SHUFFLE_SIZE:ShuffleSize。

  • PEAK_MEMORY:PeakMemory。

  • SCAN_SIZE:ScanSize。

OperatorCost

Primary

boolean

是否为当前分析维度的主指标,当前返回 true。

true

Sum

object

CHANGED 报告的有效查询分钟桶指标值总和双窗口对比,仅 CHANGED 返回。

ChangeRatePercent

number

有效查询分钟桶指标值总和变化率,计算为(时间 2 值-时间 1 值)/时间 1 值×100,200 表示增长 200%。时间 1 为 0 时无法计算有限变化率,此字段可能不返回,不能视为 0%。

200

Time1DisplayValue

string

时间 1 的有效查询分钟桶指标值总和展示字符串,含单位。

60s

Time1RatioPercent

number

此 Pattern 的时间 1 有效查询分钟桶指标值总和占当前报告、当前维度筛选前所有结果对应统计值之和的百分比,10 表示 10%。

10

Time1Value

number

时间 1 的有效查询分钟桶指标值总和。数值单位由 MetricCode 决定:QUERY_COUNT 为次,CPU_COST 为秒,SHUFFLE_SIZE、PEAK_MEMORY、SCAN_SIZE 为 GB(按 1 GB = 1024³ 字节换算)。

60

Time2DisplayValue

string

时间 2 的有效查询分钟桶指标值总和展示字符串,含单位。

180s

Time2RatioPercent

number

此 Pattern 的时间 2 有效查询分钟桶指标值总和占当前报告、当前维度筛选前所有结果对应统计值之和的百分比,10 表示 10%。

10

Time2Value

number

时间 2 的有效查询分钟桶指标值总和。数值单位由 MetricCode 决定:QUERY_COUNT 为次,CPU_COST 为秒,SHUFFLE_SIZE、PEAK_MEMORY、SCAN_SIZE 为 GB(按 1 GB = 1024³ 字节换算)。

180

Time2

object

NEW 报告的时间 2 聚合结果,仅 NEW 返回。

AvgDisplayValue

string

时间 2 有效查询分钟桶平均值的展示字符串,含单位。

3s

AvgRatioPercent

number

此 Pattern 的时间 2 平均值占当前报告、当前维度筛选前各 Pattern 平均值之和的百分比,10 表示 10%。

10

AvgValue

number

时间 2 的有效查询分钟桶平均值,即总和除以有该 Pattern 查询的分钟桶数。数值单位由 MetricCode 决定:QUERY_COUNT 为次,CPU_COST 为秒,SHUFFLE_SIZE、PEAK_MEMORY、SCAN_SIZE 为 GB(按 1 GB = 1024³ 字节换算)。

3

MaxDisplayValue

string

时间 2 单分钟桶峰值的展示字符串,含单位。

9s

MaxValue

number

时间 2 单分钟桶的最大指标值。数值单位由 MetricCode 决定:QUERY_COUNT 为次,CPU_COST 为秒,SHUFFLE_SIZE、PEAK_MEMORY、SCAN_SIZE 为 GB(按 1 GB = 1024³ 字节换算)。

9

SumDisplayValue

string

时间 2 总和的展示字符串,含单位。

180s

SumRatioPercent

number

此 Pattern 的时间 2 总和占当前报告、当前维度筛选前结果全集总和的百分比,10 表示 10%。

10

SumValue

number

时间 2 的有效查询分钟桶指标值总和。数值单位由 MetricCode 决定:QUERY_COUNT 为次,CPU_COST 为秒,SHUFFLE_SIZE、PEAK_MEMORY、SCAN_SIZE 为 GB(按 1 GB = 1024³ 字节换算)。

180

Pattern

string

参数化后的 SQL Pattern 文本。IncludePattern 为 false 时为空或不返回;文本不可用时可能返回包含哈希标识的提示。

SELECT * FROM orders WHERE order_id = ?

QueryCount

integer

时间 2 的查询执行次数,单位为次。在 CPU_COST、SHUFFLE_SIZE、PEAK_MEMORY、SCAN_SIZE 维度返回。

120

QueryCountDisplayValue

string

时间 2 查询执行次数的展示字符串,适用范围与 QueryCount 一致。

120次

Rank

integer

当前筛选和排序结果中的全局序号,从 1 开始,跨页连续编号。

1

RiskLevel

string

当前分析维度的变化等级。取值说明:

  • NEW:新增 Pattern,仅 NEW 报告返回。

  • SLIGHT:轻微变化,平均变化率为 (0%, 20%]。

  • MODERATE:中等变化,平均变化率为 (20%, 50%]。

  • HIGH:高变化,平均变化率为 (50%, 100%]。

  • SEVERE:严重变化,平均变化率大于 100%,或属于零基线增长。

说明

变化等级仅表示指标增长幅度,不能单独用于判断故障原因。

枚举值:

  • SLIGHT :

    轻微变化

  • NEW :

    新增

  • MODERATE :

    中等变化

  • SEVERE :

    严重变化

  • HIGH :

    高变化

SEVERE

SqlPatternHash

string

SQL Pattern 的哈希标识,以字符串返回。请按字符串保存和传递,避免转换为数字造成精度丢失。

1234567890123456789

TotalQueryTime

string

时间 2 的总查询耗时展示字符串,单位为秒,仅 QUERY_COUNT 维度返回。

60s

TotalScanCost

string

时间 2 的总扫描耗时展示字符串,单位为秒,仅 SCAN_SIZE 维度返回。

12s

MetricType

string

分析维度。取值说明:

  • QUERY_COUNT:查询执行次数。

  • CPU_COST:CPU 消耗。

  • SHUFFLE_SIZE:Shuffle 数据量。

  • PEAK_MEMORY:峰值内存消耗。

  • SCAN_SIZE:扫描数据量。

枚举值:

  • PEAK_MEMORY :

    峰值内存消耗

  • CPU_COST :

    CPU 消耗

  • QUERY_COUNT :

    查询执行次数

  • SHUFFLE_SIZE :

    Shuffle 数据量

  • SCAN_SIZE :

    扫描数据量

CPU_COST

PageNumber

integer

当前返回的页码,从 1 开始。

1

PageSize

integer

本次查询使用的每页最大返回数量。

50

ReportId

integer

SQL Pattern 对比报告 ID。

1001

RequestId

string

请求 ID。

9A1B2C3D-4E5F-6789-ABCD-0123456789AB

TotalCount

integer

当前报告、分析维度及变化率筛选条件下的 Pattern 总数,不是当前页条数。

1

示例

正常返回示例

JSON格式

{
  "Items": [
    {
      "AvgExecutionTime": "0.4s",
      "AvgPlanningTime": "0.1s",
      "AvgRt": "0.5s",
      "MaxExecutionTime": "1.8s",
      "MaxPlanningTime": "0.2s",
      "MaxRt": "2s",
      "MetricValues": {
        "key": {
          "Avg": {
            "ChangeRatePercent": 200,
            "Time1DisplayValue": "1s",
            "Time1RatioPercent": 10,
            "Time1Value": 1,
            "Time2DisplayValue": "3s",
            "Time2RatioPercent": 10,
            "Time2Value": 3
          },
          "Max": {
            "ChangeRatePercent": 200,
            "Time1DisplayValue": "3s",
            "Time1Value": 3,
            "Time2DisplayValue": "9s",
            "Time2Value": 9
          },
          "MetricCode": "CPU_COST",
          "MetricName": "OperatorCost",
          "Primary": true,
          "Sum": {
            "ChangeRatePercent": 200,
            "Time1DisplayValue": "60s",
            "Time1RatioPercent": 10,
            "Time1Value": 60,
            "Time2DisplayValue": "180s",
            "Time2RatioPercent": 10,
            "Time2Value": 180
          },
          "Time2": {
            "AvgDisplayValue": "3s",
            "AvgRatioPercent": 10,
            "AvgValue": 3,
            "MaxDisplayValue": "9s",
            "MaxValue": 9,
            "SumDisplayValue": "180s",
            "SumRatioPercent": 10,
            "SumValue": 180
          }
        }
      },
      "Pattern": "SELECT * FROM orders WHERE order_id = ?",
      "QueryCount": 120,
      "QueryCountDisplayValue": "120次",
      "Rank": 1,
      "RiskLevel": "SEVERE",
      "SqlPatternHash": "1234567890123456789",
      "TotalQueryTime": "60s",
      "TotalScanCost": "12s"
    }
  ],
  "MetricType": "CPU_COST",
  "PageNumber": 1,
  "PageSize": 50,
  "ReportId": 1001,
  "RequestId": "9A1B2C3D-4E5F-6789-ABCD-0123456789AB",
  "TotalCount": 1
}

错误码

HTTP status code

错误码

错误信息

描述

400 IdempotentParameterMismatch The request uses the same client token as a previous, but non-identical request. Do not reuse a client token with different requests, unless the requests are identical.

访问错误中心查看更多错误码。

变更历史

更多信息,参考变更详情。