更新时间:2025-05-19 GMT+08:00
分享

获取诊断结果

功能介绍

获取SQL诊断结果。

调试

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

URI

GET /v3/{project_id}/connections/{connection_id}/tuning/{message_id}/show-tuning-result

表1 路径参数

参数

是否必选

参数类型

描述

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

表2 响应Body参数

参数

参数类型

描述

tune_result

AdviceResult object

参数解释:

诊断结果。

取值范围:

不涉及。

表3 AdviceResult

参数

参数类型

描述

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

参数解释:

反馈信息。

取值范围:

不涉及。

表4 IndexAdviceInfo

参数

参数类型

描述

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需要添加的索引。

取值范围:

不涉及。

表5 Explain

参数

参数类型

描述

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解析的额外信息。

  • 当出现using index时,说明SQL使用覆盖索引,性能较好。
  • 当出现using filesort、using temporary、using where时,说明查询需要优化。

取值范围:

不涉及。

表6 TbPosInfo

参数

参数类型

描述

origin_name

String

参数解释:

原始名称。

取值范围:

不涉及。

name

String

参数解释:

名称。

取值范围:

不涉及。

start

Integer

参数解释:

开始。

取值范围:

不涉及。

end

Integer

参数解释:

结束。

取值范围:

不涉及。

表7 FeedbackInfo

参数

参数类型

描述

id

String

参数解释:

编号。

取值范围:

不涉及。

project_id

String

参数解释:

项目ID。

取值范围:

不涉及。

message_id

String

参数解释:

任务消息唯一ID。

取值范围:

不涉及。

feedback_grade

String

参数解释:

反馈等级。

取值范围:

不涉及。

feedback_content

String

参数解释:

反馈内容。

取值范围:

不涉及。

gmt_created

Long

参数解释:

创建时间。

取值范围:

不涉及。

gmt_modified

Long

参数解释:

修改时间。

取值范围:

不涉及。

请求示例

无。

响应示例

{
	"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.

错误码

请参见错误码

相关文档