调用GetSQLReviewOptimizeDetail获取SQL审核优化建议的详情,适用于数据变更工单和SQLReview工单。

该功能的更多说明,请参见SQL审核

调试

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

请求参数

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

系统规定参数。取值:GetSQLReviewOptimizeDetail

SQLReviewQueryKey String a57e54ec5433475ea3082d882fdb****

查询SQL审核优化建议详情信息。您可以调用ListSQLReviewOriginSQL接口获取该参数的值。

Tid Long 1

租户ID。您可以调用GetUserActiveTenantListUserTenants接口获取该参数的值。

RegionId String cn-hangzhou

选择DMS的服务地域。取值请参见RegionID参数说明

说明 请根据应用所在地就近选择。

返回数据

名称 类型 示例值 描述
RequestId String 0C1CB646-1DE4-4AD0-B4A4-7D47DD52E931

请求ID。

ErrorCode String UnknownError

错误码。

ErrorMessage String UnknownError

错误信息。

Success Boolean true

请求是否成功。

OptimizeDetail Object

审核详情。

QueryKey String a57e54ec5433475ea3082d882fdb****

SQL审核优化建议详情信息的查询KEY。

InstanceId Integer 123321

数据库所属实例ID。

DbId Integer 111222

数据库ID。

SqlType String UPDATE

SQL类型,如DELETE、UPDATE、ALTER_TABLE等。

QualityResult Object

SQL质量。

ErrorMessage String syntax error

错误信息。

Results Array of Results

规则审核结果。

RuleName String SELECT_SUGGEST_ASSIGN_WHERE

规则名。请参见SQL审核优化建议

Feedback String MUST_IMPROVE

SQL审核优化反馈结果。返回值如下:

  • MUST_IMPROVE:必须改进。
  • POTENTIAL_ISSUE:潜在问题。
  • SUGGEST_IMPROVE:建议改进。
  • USEDMSTOOLKIT:使用无锁结构变更。
  • USEDMSDML_UNLOCK:使用无锁数据变更。
  • TABLEINDEXSUGGEST:索引推荐。
Comments String xxx业务规定:查询必须带where条件

管理员进行SQL审核规则自定义配置时填写的备注信息。详细操作,请参见SQL审核优化建议

Messages Array of String xxx表不存在

审核信息。

Scripts Array of Scripts

某些规则附带生成变更脚本。

OpType String AddIndex

执行脚本的目的。当前支持AddIndex(增加索引)。

Content String alter table xxx add index idx_xx(yyy);

脚本内容。

TableName String xxx

表名。

RuleType String REVIEW

SQL审核规则。返回值如下:

  • REVIEW:规范审核。
  • OPTIMIZE:优化建议。
OccurError Boolean false

是否遇到错误。返回值如下:

  • true:存在错误。
  • false:不存在错误。

示例

请求示例

http(s)://dms-enterprise.aliyuncs.com?Action=GetSQLReviewOptimizeDetail
&SQLReviewQueryKey=a57e54ec5433475ea3082d882fdb89c5
&Tid=1
&公共请求参数

正常返回示例

XML格式

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

<GetSQLReviewOptimizeDetailResponse>
    <RequestId>0C1CB646-1DE4-4AD0-B4A4-7D47DD52E931</RequestId>
    <ErrorCode>UnknownError</ErrorCode>
    <ErrorMessage>UnknownError</ErrorMessage>
    <Success>true</Success>
    <OptimizeDetail>
        <QueryKey>a57e54ec5433475ea3082d882fdb****</QueryKey>
        <InstanceId>123321</InstanceId>
        <DbId>111222</DbId>
        <SqlType>UPDATE</SqlType>
        <QualityResult>
            <ErrorMessage>syntax error</ErrorMessage>
            <Results>
                <RuleName>SELECT_SUGGEST_ASSIGN_WHERE</RuleName>
                <Feedback>MUST_IMPROVE</Feedback>
                <Comments>xxx业务规定:查询必须带where条件</Comments>
                <Messages>xxx表不存在</Messages>
                <Scripts>
                    <OpType>AddIndex</OpType>
                    <Content>alter table xxx add index idx_xx(yyy);</Content>
                    <TableName>xxx</TableName>
                </Scripts>
                <RuleType>REVIEW</RuleType>
            </Results>
            <OccurError>false</OccurError>
        </QualityResult>
    </OptimizeDetail>
</GetSQLReviewOptimizeDetailResponse>

JSON格式

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

{
  "RequestId" : "0C1CB646-1DE4-4AD0-B4A4-7D47DD52E931",
  "ErrorCode" : "UnknownError",
  "ErrorMessage" : "UnknownError",
  "Success" : true,
  "OptimizeDetail" : {
    "QueryKey" : "a57e54ec5433475ea3082d882fdb****",
    "InstanceId" : 123321,
    "DbId" : 111222,
    "SqlType" : "UPDATE",
    "QualityResult" : {
      "ErrorMessage" : "syntax error",
      "Results" : [ {
        "RuleName" : "SELECT_SUGGEST_ASSIGN_WHERE",
        "Feedback" : "MUST_IMPROVE",
        "Comments" : "xxx业务规定:查询必须带where条件",
        "Messages" : [ "xxx表不存在" ],
        "Scripts" : [ {
          "OpType" : "AddIndex",
          "Content" : "alter table xxx add index idx_xx(yyy);",
          "TableName" : "xxx"
        } ],
        "RuleType" : "REVIEW"
      } ],
      "OccurError" : false
    }
  }
}

错误码

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