获取诊断结果 - ObtainDiagnoseResults
功能介绍
获取SQL诊断结果。
调试
您可以在API Explorer中调试该接口。
授权信息
账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权,具体权限要求请参见权限和授权项。
- 如果使用身份策略授权,需具备如下身份策略权限。
授权项
访问级别
资源类型(*为必须)
条件键
别名
依赖的授权项
das:clouddba:sqlDiagnosis
write
connection
instance
-
-
-
URI
GET /v3/{project_id}/connections/{connection_id}/tuning/{message_id}/show-tuning-result
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
message_id | 是 | String | 参数解释: 诊断信息ID。 获取方法请参见5.2.30-执行SQL诊断。 约束限制: 不涉及。 取值范围: 只能由英文字母、数字组成,且长度为24个字符。 默认取值: 不涉及。 |
project_id | 是 | String | 参数解释: 租户在某一Region下的项目ID。 获取方法请参见获取项目ID。 约束限制: 不涉及。 取值范围: 只能由英文字母、数字组成,且长度为32个字符。 默认取值: 不涉及。 |
connection_id | 是 | String | 参数解释: 数据库用户ID。用户使用数据库账号与数据库建立的连接ID(数据库用户ID由注册数据库用户接口创建)。 取值范围: 只能由英文字母、数字、中划线组成,且长度为36个字符的UUID。 |
请求参数
无。
响应参数
状态码: 200
参数 | 参数类型 | 描述 |
|---|---|---|
tune_result | AdviceResult object | 参数解释: 诊断结果。 取值范围: 不涉及。 |
参数 | 参数类型 | 描述 |
|---|---|---|
message_id | String | 参数解释: 诊断信息ID。 取值范围: 不涉及。 |
status_code | String | 参数解释: 状态码。 取值范围: 不涉及。 |
error_code | String | 参数解释: 错误码。 取值范围: 不涉及。 |
error_message | String | 参数解释: 错误信息。 取值范围: 不涉及。 |
index_advice | Array of IndexAdviceInfo objects | 参数解释: 索引建议。 取值范围: 不涉及。 |
tuning_advice | Array of strings | 参数解释: 诊断建议。 取值范围: 不涉及。 |
formatted_sql | String | 参数解释: 格式化SQL。 取值范围: 不涉及。 |
original_sql | String | 参数解释: 原始SQL。 取值范围: 不涉及。 |
explain | Array of Explain objects | 参数解释: 执行计划。 取值范围: 不涉及。 |
tb_pos_infos | Array of TbPosInfo objects | 参数解释: 表位置信息。 取值范围: 不涉及。 |
feedback_infos | FeedbackInfo object | 参数解释: 反馈信息。 取值范围: 不涉及。 |
参数 | 参数类型 | 描述 |
|---|---|---|
schema_name | String | 参数解释: Schema名。 取值范围: 不涉及。 |
table_name | String | 参数解释: 表名。 取值范围: 不涉及。 |
index_name | String | 参数解释: 索引名。 取值范围: 不涉及。 |
columns | Array of strings | 参数解释: 列。 取值范围: 不涉及。 |
unique | Boolean | 参数解释: 是否唯一。 取值范围: 不涉及。 |
track_id | String | 参数解释: 追踪ID。 取值范围: 不涉及。 |
quality | Object | 参数解释: 质量。 取值范围: 不涉及。 |
ddl_add_index | String | 参数解释: DDL需要添加的索引。 取值范围: 不涉及。 |
参数 | 参数类型 | 描述 |
|---|---|---|
id | Integer | 参数解释: SELECT子句的编号。 取值范围: 不涉及。 |
select_type | String | 参数解释: SELECT子句的类型。 取值范围:
|
table | String | 参数解释: SQL优化器选择的表JOIN顺序。 取值范围: 不涉及。 |
type | String | 参数解释: 查找表中行的访问类型。 (从好到坏依次为:null>system>const>eq_ref>ref>range>index>all) 取值范围:
|
possible_keys | String | 参数解释: 有助于高效查找行的索引。 取值范围: 不涉及。 |
key | String | 参数解释: 出于最小化查询成本考虑,SQL优化器实际使用的索引。 取值范围: 不涉及。 |
key_len | String | 参数解释: Key列所示索引的长度(字节)。 取值范围: 不涉及。 |
ref | String | 参数解释: 在使用Key列所示索引查找数据时用到的列或常量。 取值范围: 不涉及。 |
rows | Long | 参数解释: Key列所示索引的长度(字节)。 取值范围: 不涉及。 |
filtered | Double | 参数解释: 引擎层扫描数据后根据额外的where条件过滤后剩下值的百分比。 取值范围: 不涉及。 |
extra | String | 参数解释: SQL解析的额外信息。
取值范围: 不涉及。 |
请求示例
无。
响应示例
{
"tune_result": {
"message_id": "6507f5070cf2476b18473d9b",
"status_code": "0000",
"error_message": "Success",
"formatted_sql": "SELECT *\nFROM test_tb",
"original_sql": "select * from test_tb",
"tuning_advice": [
"最外层Select未指定Where条件,可能返回比预期更多的行。"
],
"explain": [{
"id": 1,
"select_type": "SIMPLE",
"type": "ALL",
"rows": 100512,
"filtered": 100
}],
"tb_pos_infos": [{
"origin_name": "test_tb",
"name": "test_tb",
"start": 14,
"end": 21
}],
"feedback_infos": {}
}
} 状态码
状态码 | 描述 |
|---|---|
200 | Success. |
400 | BadRequest. |
500 | InternalServerError. |
错误码
请参见错误码。

