首页 数据库自治服务 DAS API参考指南 API目录 SQL诊断 GetRequestDiagnosisResult - 查询SQL诊断的结果

GetRequestDiagnosisResult - 查询SQL诊断的结果

调用GetRequestDiagnosisResult接口,查询SQL诊断的结果。

接口说明

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

  • 在使用SDK调用DAS服务时,需要将地域指定为cn-shanghai。

  • 本接口适用的数据库引擎为:

    • RDS MySQL
    • RDS PostgreSQL
    • RDS SQL Server
    • PolarDB MySQL版
    • PolarDB PostgreSQL版(兼容Oracle)
    • 云数据库MongoDB版
说明RDS PostgreSQL实例内核小版本为20220130及以上。查看和升级内核小版本,请参见升级内核小版本

调试

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

调试

授权信息

下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:

  • 操作:是指具体的权限点。
  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:
    • 对于必选的资源类型,用背景高亮的方式表示。
    • 对于不支持资源级授权的操作,用全部资源表示。
  • 条件关键字:是指云产品自身定义的条件关键字。
  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作访问级别资源类型条件关键字关联操作
hdm:GetRequestDiagnosisResultRead
  • DAS
    acs:hdm:*:{#accountId}:*

请求参数

名称类型必填描述示例值
InstanceIdstring

实例ID。

rm-0iwhhl8gx0ld6****
NodeIdstring

节点ID。

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

诊断ID,CreateRequestDiagnosis接口返回的诊断唯一标识。

61820b594664275c4429****
SqlIdstring

SQL模板ID。

说明此参数是DAS控制台调用API时使用,用户使用此API时无需传入。
None
Sourcestring

任务来源。

说明此参数是DAS控制台调用API时使用,用户使用此API时无需传入。
None

返回参数

名称类型描述示例值
object
Messagestring

请求返回消息。

说明请求成功时该参数返回Successful,请求失败时会返回请求异常信息(如错误码等)。
Successful
RequestIdstring

请求ID。

800FBAF5-A539-5B97-A09E-C63AB2F7****
Dataobject

返回数据

messageIdstring

诊断ID,唯一标识。

61820b594664275c4429****
uuidstring

诊断实例唯一标识。

hdm_51fe9bc19ec413f4d530431af87a****
accountIdstring

用户ID。

2093****
sqlIdstring

SQL模板ID。

0c95dae3afef77be06572612df9b****
enginestring

数据库引擎,取值:

  • MySQL
  • PostgreSQL
  • SQLServer
  • PolarDBMySQL
  • PolarDBOracle
  • MongoDB
MySQL
dbSchemastring

数据库名。

das
paramstring

额外信息。

{"":""}
stateinteger

诊断状态:

  • 0:诊断中。
  • 1:诊断错误。
  • 2:诊断完成。
  • 3:SQL错误。
  • 4:引擎错误。
2
resultstring

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改写建议。
{ "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":[ ] }
gmtCreatestring

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

1633071840000
gmtModifiedstring

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

1633071850000
Codestring

返回的状态码。

200
Successstring

请求是否执行成功:

  • true:执行成功。

  • false:执行失败。

true

示例

正常返回示例

JSON格式

{
  "Message": "Successful",
  "RequestId": "800FBAF5-A539-5B97-A09E-C63AB2F7****",
  "Data": {
    "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"
  },
  "Code": "200",
  "Success": "true"
}

错误码

HTTP status code错误码错误信息描述
400InvalidParamsThe request parameters are invalid.请求参数错误

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

阿里云首页 数据库自治服务 相关技术圈