更新时间:2024-08-05 GMT+08:00

获取诊断结果

功能介绍

获取SQL诊断结果。

URI

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

表1 路径参数

参数

是否必选

参数类型

描述

message_id

String

诊断信息ID。

project_id

String

项目ID。

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

connection_id

String

连接ID。

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户token。

X-Language

String

语言。

响应参数

状态码: 200

表3 响应Body参数

参数

参数类型

描述

tune_result

AdviceResult object

诊断结果。

表4 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

反馈信息。

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

表6 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时,说明查询需要优化。
表7 TbPosInfo

参数

参数类型

描述

origin_name

String

原始名称。

name

String

名称。

start

Integer

开始。

end

Integer

结束。

表8 FeedbackInfo

参数

参数类型

描述

id

String

编号。

project_id

String

项目ID。

message_id

String

任务消息唯一ID。

feedback_grade

String

反馈等级。

feedback_content

String

反馈内容。

gmt_created

Long

创建时间。

gmt_modified

Long

修改时间。

状态码: 400

表9 响应Body参数

参数

参数类型

描述

error_code

String

错误码。

最小长度:8

最大长度:36

error_msg

String

错误描述。

最小长度:2

最大长度:512

状态码: 500

表10 响应Body参数

参数

参数类型

描述

error_code

String

错误码。

最小长度:8

最大长度:36

error_msg

String

错误描述。

最小长度:2

最大长度:512

请求示例

无。

响应示例

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

错误码

请参见错误码