GetSQLReviewOptimizeDetail - 获取SQL审核优化建议的详情

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

接口说明

SQL 审核功能的更多信息,请参见 SQL 审核

调试

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

授权信息

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

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

请求参数

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

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

a57e54ec5433475ea3082d882fdb****
Tidlong

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

1

返回参数

名称类型描述示例值
object
RequestIdstring

请求 ID。

0C1CB646-1DE4-4AD0-B4A4-7D47DD52E931
ErrorCodestring

错误码。

UnknownError
ErrorMessagestring

错误信息。

UnknownError
Successboolean

请求是否成功。

true
OptimizeDetailobject

审核详情。

QueryKeystring

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

a57e54ec5433475ea3082d882fdb****
InstanceIdinteger

数据库所属实例 ID。

123321
DbIdinteger

数据库 ID。

111222
SqlTypestring

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

UPDATE
QualityResultobject

SQL 质量。

ErrorMessagestring

错误信息。

syntax error
Resultsarray<object>

规则审核结果。

Resultsobject

一条规则的审核详情。

RuleNamestring

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

SELECT_SUGGEST_ASSIGN_WHERE
Feedbackstring

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

  • MUST_IMPROVE:必须改进。
  • POTENTIAL_ISSUE:潜在问题。
  • SUGGEST_IMPROVE:建议改进。
  • USEDMSTOOLKIT:使用无锁结构变更。
  • USEDMSDML_UNLOCK:使用无锁数据变更。
  • TABLEINDEXSUGGEST:索引推荐。
MUST_IMPROVE
Commentsstring

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

xxx业务规定:查询必须带where条件
Messagesarray

审核信息列表。

Messagesstring

审核信息。

xxx表不存在
Scriptsarray<object>

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

Scriptsobject

变更脚本。

OpTypestring

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

AddIndex
Contentstring

脚本内容。

alter table xxx add index idx_xx(yyy);
TableNamestring

表名。

xxx
RuleTypestring

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

  • REVIEW:规范审核。
  • OPTIMIZE:优化建议。
REVIEW
OccurErrorboolean

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

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

示例

正常返回示例

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
    }
  }
}

错误码

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

变更历史

变更时间变更内容概要操作
暂无变更历史