查询SQL执行计划(POST请求)
功能介绍
- 查询SQL执行计划。
- 目前仅支持MySQL实例。
- 补充GET请求,处理超长SQL。
URI
POST /v3/{project_id}/instances/{instance_id}/sql/explain
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
project_id |
是 |
String |
项目ID。 获取方法请参见获取项目ID。 |
instance_id |
是 |
String |
实例ID。 |
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
X-Auth-Token |
是 |
String |
用户token。 |
X-Language |
否 |
String |
语言。 枚举值:
|
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
db_user_id |
否 |
String |
数据库用户ID。 |
database |
否 |
String |
数据库名称。 |
sql |
否 |
String |
SQL语句。 |
响应参数
状态码: 200
参数 |
参数类型 |
描述 |
---|---|---|
execution_plans |
Array of ExecutionPlan objects |
SQL执行计划列表。 |
error_message |
String |
SQL执行失败时,显示执行错误信息。 |
参数 |
参数类型 |
描述 |
---|---|---|
id |
String |
id。 |
select_type |
String |
select子句的类型。 |
table |
String |
数据库表。 |
partitions |
String |
查询将匹配记录的分区。 |
type |
String |
访问类型。 |
possible_keys |
String |
可能使用的键(索引)。 |
key |
String |
实际使用的键(索引)。 |
key_len |
String |
决定使用的键的长度。 |
ref |
String |
使用哪个列或常数与键一起来选择行。 |
rows |
String |
MySQL认为它执行查询时必须检查的行数。 |
filtered |
String |
按表条件过滤的表行的估计百分比。 |
extra |
String |
其他信息。 |
状态码: 400
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
错误码。 最小长度:8 最大长度:36 |
error_msg |
String |
错误描述。 最小长度:2 最大长度:512 |
状态码: 500
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
错误码。 最小长度:8 最大长度:36 |
error_msg |
String |
错误描述。 最小长度:2 最大长度:512 |
请求示例
查询SQL执行计划(POST请求)
POST https://das.cn-north-1.myhuaweicloud.com/v3/054e292c9880d4992f02c0196d3ea468/instances/da304cd5bbb944de828759bc7be3d3fein01/sql/explain { "db_user_id" : "2c250598-1e3c-4d31-bc19-be1d866247e6", "database" : "abc", "sql" : "select 1" }
响应示例
状态码: 200
{ "execution_plans" : [ { "id" : "1", "select_type" : "SIMPLE", "table" : "", "partitions" : "", "type" : "", "possible_keys" : "", "key" : "", "key_len" : "", "ref" : "", "rows" : "", "filtered" : "", "extra" : "No tables used" } ] }
状态码
状态码 |
描述 |
---|---|
200 |
Success. |
400 |
BadRequest. |
500 |
InternalServerError. |
错误码
请参见错误码。