文档首页/ 数据管理服务 DAS/ API参考/ API(公测中)/ 云DBA/ 查询SQL执行计划(POST请求)
更新时间:2024-08-05 GMT+08:00

查询SQL执行计划(POST请求)

功能介绍

  • 查询SQL执行计划。
  • 目前仅支持MySQL实例。
  • 补充GET请求,处理超长SQL。

URI

POST /v3/{project_id}/instances/{instance_id}/sql/explain

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目ID。

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

instance_id

String

实例ID。

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户token。

X-Language

String

语言。

枚举值:

  • zh-cn
  • en-us
表3 请求Body参数

参数

是否必选

参数类型

描述

db_user_id

String

数据库用户ID。

database

String

数据库名称。

sql

String

SQL语句。

响应参数

状态码: 200

表4 响应Body参数

参数

参数类型

描述

execution_plans

Array of ExecutionPlan objects

SQL执行计划列表。

error_message

String

SQL执行失败时,显示执行错误信息。

表5 ExecutionPlan

参数

参数类型

描述

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

表6 响应Body参数

参数

参数类型

描述

error_code

String

错误码。

最小长度:8

最大长度:36

error_msg

String

错误描述。

最小长度:2

最大长度:512

状态码: 500

表7 响应Body参数

参数

参数类型

描述

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.

错误码

请参见错误码