文档首页/ 数据管理服务 DAS/ API参考/ API(公测中)/ 云DBA/ 获取SQL诊断结果 - GetTuningResult
更新时间:2025-12-04 GMT+08:00
分享

获取SQL诊断结果 - GetTuningResult

功能介绍

获取SQL诊断结果。

调试

您可以在API Explorer中调试该接口。

授权信息

账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。

  • 如果使用角色与策略授权,具体权限要求请参见权限和授权项
  • 如果使用身份策略授权,需具备如下身份策略权限。

    授权项

    访问级别

    资源类型(*为必须)

    条件键

    别名

    依赖的授权项

    das:clouddba:sqlDiagnosis

    read

    instance

    -

    -

    -

URI

POST /v3/{project_id}/connections/{connection_id}/tuning/get-tuning-result

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

参数解释

租户在某一Region下的项目ID。

获取方法请参见获取项目ID

约束限制:

不涉及。

取值范围:

只能由英文字母、数字组成,且长度为32个字符。

默认取值:

不涉及。

connection_id

String

参数解释:

连接ID。用户使用数据库账号与数据库建立的连接ID(数据库用户ID由创建实例连接接口创建)。

约束限制:

不涉及。

取值范围:

只能由英文字母、数字、中划线组成,且长度为36个字符的UUID。

默认取值:

不涉及。

请求参数

表2 请求Body参数

参数

是否必选

参数类型

描述

message_id

String

参数解释:

SQL诊断消息ID(消息ID由创建SQL诊断任务创建)。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

响应参数

状态码: 200

表3 响应Body参数

参数

参数类型

描述

tune_result

表4 Object

参数解释:

诊断结果。

取值范围:

不涉及。

表4 AdviceResult

参数

参数类型

描述

message_id

String

参数解释:

诊断消息ID。

取值范围:

不涉及。

status_code

String

参数解释:

诊断任务状态码。

取值范围:

0000

error_code

String

参数解释:

错误码。

取值范围:

  • 0:等待
  • 1:运行中
  • 2:失败
  • 3:成功
  • 4:超时
  • 5:OBS文件已删除

error_message

String

参数解释:

错误信息。

取值范围:

不涉及。

index_advice

Array of 表5 objects

参数解释:

索引优化建议列表。

取值范围:

不涉及。

tuning_advice

Array of Strings

参数解释:

语句优化建议列表。

取值范围:

不涉及。

formatted_sql

String

参数解释:

格式化后的SQL语句。

取值范围:

不涉及。

original_sql

String

参数解释:

原始SQL语句。

取值范围:

不涉及。

explain

Array of 表6 objects

参数解释:

执行计划。

取值范围:

不涉及。

tb_pos_infos

Array of 表7 objects

参数解释:

SQL语句中识别的表信息。

取值范围:

不涉及。

feedback_infos

表8 object

参数解释:

反馈意见。

取值范围:

不涉及。

表5 IndexAdvice

参数

参数类型

描述

schema_name

String

参数解释:

schema名称。

取值范围:

不涉及。

table_name

String

参数解释:

表名称。

取值范围:

0000

index_name

String

参数解释:

索引名称。

取值范围:

不涉及。

columns

Array of Strings

参数解释:

列列表。

取值范围:

不涉及。

unique

Boolean

参数解释:

是否为唯一键。

取值范围:

不涉及。

track_id

String

参数解释:

追踪ID。

取值范围:

不涉及。

quality

String

参数解释:

SQL质量。

取值范围:

  • HighQuality
  • NormalQuality
  • LowQuality
  • AbandonQuality

ddl_add_index

String

参数解释:

添加索引语句。

取值范围:

不涉及。

表6 Explain

参数

参数类型

描述

id

Integer

参数解释:

SQL执行ID。

取值范围:

不涉及。

select_type

String

参数解释:

Select类型。

取值范围:

  • SIMPLE
  • PRIMARY
  • UNION
  • DEPENDENT UNION
  • UNION RESULT
  • SUBQUERY
  • DEPENDENT SUBQUERY
  • DERIVED
  • UNCACHEABLE SUBQUERY

table

String

参数解释:

表名称。

取值范围:

不涉及。

type

String

参数解释:

MySQL在表中找到行的方式。

取值范围:

  • ALL
  • index
  • range
  • ref
  • eq_ref
  • const
  • system
  • NULL

rows

Long

参数解释:

预估扫描的行数。

取值范围:

不涉及。

possible_keys

String

参数解释:

可能选择的索引。

取值范围:

不涉及。

key

String

参数解释:

实际选择的索引。

取值范围:

不涉及。

filtered

Double

参数解释:

根据表条件过滤的行的百分比。

取值范围:

不涉及。

key_len

String

参数解释:

索引中使用的字节数。

取值范围:

不涉及。

ref

String

参数解释:

与索引相比的列。

取值范围:

不涉及。

extra

String

参数解释:

额外信息。

取值范围:

不涉及。

表7 TbPosInfo

参数

参数类型

描述

schema_name

String

参数解释:

schema名称。

取值范围:

不涉及。

origin_name

String

参数解释:

原始表名称。

取值范围:

不涉及。

name

String

参数解释:

表名称。

取值范围:

不涉及。

start

Integer

参数解释:

开始位置。

取值范围:

不涉及。

end

Integer

参数解释:

结束位置。

取值范围:

不涉及。

表8 FeedbackInfo

参数

参数类型

描述

id

Long

参数解释:

反馈消息ID。

取值范围:

不涉及。

project_id

String

参数解释:

项目ID。

取值范围:

不涉及。

message_id

String

参数解释:

诊断消息ID。

取值范围:

不涉及。

feedback_grade

String

参数解释:

反馈等级。

取值范围:

不涉及。

feedback_content

String

参数解释:

反馈内容。

取值范围:

不涉及。

gmt_created

Long

参数解释:

反馈创建时间。

取值范围:

不涉及。

gmt_modified

Long

参数解释:

反馈修改时间。

取值范围:

不涉及。

请求示例

POST https://das.cn-north-1.myhuaweicloud.com/v3/054e292c9880d4992f02c0196d3ea468/connections/179e525e-0e9c-4dcc-9dd7-ee2f36121e23/tuning/get-tuning-result 
 
{ 
 "message_id": "692d5a7a0cf263510807db3b" 
}

响应示例

状态码: 200

Success.

{
    "tune_result": {
        "message_id": "692d5a7a0cf263510807db3b",
        "status_code": "0000",
        "error_message": "Success",
        "index_advice": [],
        "tuning_advice": [
            "最外层Select未指定Where条件,可能返回比预期更多的行。"
        ],
        "formatted_sql": "SELECT *\nFROM lbw",
        "original_sql": "SELECT * FROM lbw",
        "explain": [
            {
                "id": 1,
                "select_type": "SIMPLE",
                "table": "lbw",
                "type": "ALL",
                "rows": 1002,
                "filtered": 100.0
            }
        ],
        "tb_pos_infos": [
            {
                "schema_name": "czh_test",
                "origin_name": "lbw",
                "name": "lbw",
                "start": 14,
                "end": 17
            }
        ],
        "feedback_infos": {}
    }
}

状态码

状态码

描述

200

Success.

400

Client error.

500

Server error.

错误码

请参见错误码

相关文档