Help Center/ Data Admin Service/ API Reference/ APIs (in OBT)/ Cloud DBA/ Querying the SQL Execution Plan (GET Request)
Updated on 2024-12-04 GMT+08:00

Querying the SQL Execution Plan (GET Request)

Function

This API is used to query a SQL execution plan. Currently, this function is supported only for MySQL DB instances.

URI

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

Table 1 URI parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Project ID.

To obtain this value, see Obtaining a Project ID.

instance_id

Yes

String

Instance ID.

Table 2 Query parameters

Parameter

Mandatory

Type

Description

db_user_id

Yes

String

Database user ID.

database

Yes

String

Database name.

sql

Yes

String

SQL statement.

Request Parameters

Table 3 Request header parameters

Parameter

Mandatory

Type

Description

X-Auth-Token

Yes

String

User token.

X-Language

No

String

Language.

Enumerated values:

  • zh-cn
  • en-us

Response Parameters

Status code: 200

Table 4 Response body parameters

Parameter

Type

Description

execution_plans

Array of execution plan objects

SQL execution plan list.

error_message

String

Error message displayed if the SQL execution fails.

Table 5 Execution plan

Parameter

Type

Description

id

String

ID.

select_type

String

Type of the SELECT clause.

table

String

Database table.

partitions

String

Partitions from which records would be matched by the query.

type

String

Access type.

possible_keys

String

Keys (index) that can be used.

key

String

Key (index) that is used.

key_len

String

Length of the key that is used.

ref

String

Column or constant used along with the key to select rows.

rows

String

Number of rows that MySQL considers it must check when executing a query

filtered

String

Estimated percentage of table rows that are filtered by the table condition.

extra

String

Other information.

Status code: 400

Table 6 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

Minimum length: 8 characters

Maximum length: 36 characters

error_msg

String

Error message.

Minimum length: 2 characters

Maximum length: 512 characters

Status code: 500

Table 7 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

Minimum length: 8 characters

Maximum length: 36 characters

error_msg

String

Error message.

Minimum length: 2 characters

Maximum length: 512 characters

Example Request

Querying the SQL execution plan (GET request)

GET 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

Example Response

Status code: 200

{
  "execution_plans" : [ {
    "id" : "1",
    "select_type" : "SIMPLE",
    "table" : "",
    "partitions" : "",
    "type" : "",
    "possible_keys" : "",
    "key" : "",
    "key_len" : "",
    "ref" : "",
    "rows" : "",
    "filtered" : "",
    "extra" : "No tables used"
  } ]
}

Status Codes

Status Code

Description

200

Success

400

Bad request

500

Internal server error

Error Codes

See Error Codes.