调用GetRequestDiagnosisPage接口,分页获取SQL诊断历史记录。

使用该接口需满足以下前提条件:

  • 在使用SDK调用DAS服务时,需要将地域指定为cn-shanghai。
  • 本接口适用的数据库引擎为:
    • RDS MySQL
    • RDS PostgreSQL
    • RDS SQL Server
    • PolarDB MySQL版
    • PolarDB PostgreSQL版(兼容Oracle)
    • 云数据库MongoDB版
说明 RDS PostgreSQL实例内核小版本为20220130及以上。查看和升级内核小版本,请参见升级内核小版本

请求参数

名称 类型 是否必选 示例值 描述
Action String GetRequestDiagnosisPage

系统规定参数。取值:GetRequestDiagnosisPage

InstanceId String rm-0iwhhl8gx0ld6****

实例ID。

NodeId String 202****

节点ID。

说明 对于PolarDB MySQL版、PolarDB PostgreSQL版(兼容Oracle)和云数据库MongoDB等集群实例,需要提供节点ID。
PageNo Integer 1

页码,取值大于0且不超过Integer数据类型的最大值,默认值为1。

PageSize Integer 10

每页最大记录数,取值大于0且不超过Integer数据类型的最大值,默认值为10。

StartTime Long 1633071840000

查询任务的开始时间,格式为Unix时间戳,单位为毫秒。

EndTime Long 1634972640000

查询任务的结束时间,格式为Unix时间戳,单位为毫秒。

返回数据

名称 类型 示例值 描述
Message String Successful

请求返回消息。

说明 请求成功时该参数返回Successful,请求失败时会返回请求异常信息(如错误码等)。
RequestId String 800FBAF5-A539-5B97-A09E-C63AB2F7****

请求的ID。

Data Object

返回数据。

list Array of T

SQL诊断历史记录列表。

messageId String 61820b594664275c4429****

诊断ID,唯一标识。

uuid String hdm_51fe9bc19ec413f4d530431af87a****

诊断实例的唯一标识。

accountId String 2093****

用户ID。

sqlId String 0c95dae3afef77be06572612df9b****

SQL模板ID。

engine String MySQL

数据库引擎:

  • MySQL
  • PostgreSQL
  • SQLServer
  • PolarDBMySQL
  • PolarDBOracle
  • MongoDB
dbSchema String das

数据库名。

param String {"":""}

额外信息。

state Integer 2

诊断状态:

  • 0:诊断中。
  • 1:诊断错误。
  • 2:诊断完成。
  • 3:SQL错误。
  • 4:引擎错误。
result String { "endTime":1636354256000, "errorCode":"0001", "errorMessage":"TFX成功", "estimateCost":{ "cpu":1.7878745150389268, "io":9.948402604746128, "rows":8.889372575194633 }, "improvement":12933.97, "indexAdvices":[ { "columns":[ "work_no" ], "ddlAddIndex":"ALTER TABLE `test`.`work_order` ADD INDEX `idx_workno` (`work_no`)", "indexName":"idx_workno", "schemaName":"test", "tableName":"work_order", "unique":false } ], "ip":"****.mysql.rds.aliyuncs.com", "messageId":"6188c8cb2f1365b16aee****", "port":3306, "sqlTag":"{\"PRED_EQUAL\":\"Y\",\"CNT_QB\":\"1\",\"CNT_TB\":\"1\"}", "startTime":1636354252000, "success":true, "support":true, "tuningAdvices":[ ] }

SQL诊断结果:

  • endTime:SQL诊断的结束时间。
  • errorCode:错误码。
    • 0001:诊断成功。
    • 0003:诊断失败。
  • errorMessage:错误信息。
  • estimateCost:预估得消耗。
    • cpu:索引的CPU消耗预估值。
    • io:索引的IO消耗预估值。
    • rows:索引的返回列预估值。
  • improvement:性能提升比。
  • indexAdvices:索引建议。
    • columns:索引列。
    • ddlAddIndex:索引DDL语句。
    • indexName:索引名。
    • schemaName:数据库名。
    • tableName:表名。
    • unique:是否唯一索引。
  • ip:实例的IP地址。
  • messageId:诊断ID。
  • port:实例的端口。
  • sqlTag:SQL标签。
  • startTime:SQL诊断的开始时间。
  • success:请求是否执行成功。
  • support:SQL语句是否支持诊断。
    • true:支持。
    • false:不支持。
  • tuningAdvices:SQL改写建议。
gmtCreate String 1633071840000

SQL诊断创建时间,格式为Unix时间戳,单位为毫秒。

gmtModified String 1633071850000

SQL诊断修改时间,格式为Unix时间戳,单位为毫秒。

pageNo Long 1

页码,取值大于0且不超过Integer数据类型的最大值,默认值为1。

pageSize Long 10

每页最大记录数,取值大于0且不超过Integer数据类型的最大值,默认值为10。

total Long 100

查询到的总数。

extra String {"":""}

其他信息。

Code String 200

状态码。

Success String true

请求是否执行成功:

  • true:执行成功。
  • false:执行失败。

示例

请求示例

http(s)://das.cn-shanghai.aliyuncs.com/?Action=GetRequestDiagnosisPage
&InstanceId=rm-0iwhhl8gx0ld6****
&NodeId=202****
&PageNo=1
&PageSize=10
&StartTime=1633071840000
&EndTime=1634972640000
&公共请求参数

正常返回示例

XML格式

HTTP/1.1 200 OK
Content-Type:application/xml

<GetRequestDiagnosisPageResponse>
    <Message>Successful</Message>
    <RequestId>800FBAF5-A539-5B97-A09E-C63AB2F7****</RequestId>
    <Data>
        <list>
            <messageId>61820b594664275c4429****</messageId>
            <uuid>hdm_51fe9bc19ec413f4d530431af87a****</uuid>
            <accountId>2093****</accountId>
            <sqlId>0c95dae3afef77be06572612df9b****</sqlId>
            <engine>MySQL</engine>
            <dbSchema>das</dbSchema>
            <param>{"":""}</param>
            <state>2</state>
            <result>{     "endTime":1636354256000,     "errorCode":"0001",     "errorMessage":"TFX成功",     "estimateCost":{         "cpu":1.7878745150389268,         "io":9.948402604746128,         "rows":8.889372575194633     },     "improvement":12933.97,     "indexAdvices":[         {             "columns":[                 "work_no"             ],             "ddlAddIndex":"ALTER TABLE `test`.`work_order` ADD INDEX `idx_workno` (`work_no`)",             "indexName":"idx_workno",             "schemaName":"test",             "tableName":"work_order",             "unique":false         }     ],     "ip":"****.mysql.rds.aliyuncs.com",     "messageId":"6188c8cb2f1365b16aee****",     "port":3306,     "sqlTag":"{\"PRED_EQUAL\":\"Y\",\"CNT_QB\":\"1\",\"CNT_TB\":\"1\"}",     "startTime":1636354252000,     "success":true,     "support":true,     "tuningAdvices":[      ] }</result>
            <gmtCreate>1633071840000</gmtCreate>
            <gmtModified>1633071850000</gmtModified>
        </list>
        <pageNo>1</pageNo>
        <pageSize>10</pageSize>
        <total>100</total>
        <extra>{"":""}</extra>
    </Data>
    <Code>200</Code>
    <Success>true</Success>
</GetRequestDiagnosisPageResponse>

JSON格式

HTTP/1.1 200 OK
Content-Type:application/json

{
  "Message" : "Successful",
  "RequestId" : "800FBAF5-A539-5B97-A09E-C63AB2F7****",
  "Data" : {
    "list" : [ {
      "messageId" : "61820b594664275c4429****",
      "uuid" : "hdm_51fe9bc19ec413f4d530431af87a****",
      "accountId" : "2093****",
      "sqlId" : "0c95dae3afef77be06572612df9b****",
      "engine" : "MySQL",
      "dbSchema" : "das",
      "param" : "{\"\":\"\"}",
      "state" : 2,
      "result" : "{     \"endTime\":1636354256000,     \"errorCode\":\"0001\",     \"errorMessage\":\"TFX成功\",     \"estimateCost\":{         \"cpu\":1.7878745150389268,         \"io\":9.948402604746128,         \"rows\":8.889372575194633     },     \"improvement\":12933.97,     \"indexAdvices\":[         {             \"columns\":[                 \"work_no\"             ],             \"ddlAddIndex\":\"ALTER TABLE `test`.`work_order` ADD INDEX `idx_workno` (`work_no`)\",             \"indexName\":\"idx_workno\",             \"schemaName\":\"test\",             \"tableName\":\"work_order\",             \"unique\":false         }     ],     \"ip\":\"****.mysql.rds.aliyuncs.com\",     \"messageId\":\"6188c8cb2f1365b16aee****\",     \"port\":3306,     \"sqlTag\":\"{\\\"PRED_EQUAL\\\":\\\"Y\\\",\\\"CNT_QB\\\":\\\"1\\\",\\\"CNT_TB\\\":\\\"1\\\"}\",     \"startTime\":1636354252000,     \"success\":true,     \"support\":true,     \"tuningAdvices\":[      ] }",
      "gmtCreate" : "1633071840000",
      "gmtModified" : "1633071850000"
    } ],
    "pageNo" : 1,
    "pageSize" : 10,
    "total" : 100,
    "extra" : "{\"\":\"\"}"
  },
  "Code" : "200",
  "Success" : "true"
}

错误码

HttpCode 错误码 错误信息 描述
400 InvalidParams The request parameters are invalid. 请求参数错误

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