Querying SQL Execution Plan (POST Request)
Function
- Query a SQL execution plan.
- Currently, this function is supported only for MySQL DB instances.
- This API serves as a supplement of GET requests to process overlong SQL statements.
URI
POST /v3/{project_id}/instances/{instance_id}/sql/explain
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. |
Request Parameters
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
X-Auth-Token |
Yes |
String |
User token. |
X-Language |
No |
String |
Language. The value can be:
|
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
db_user_id |
No |
String |
Database user ID. |
database |
No |
String |
Database name. |
sql |
No |
String |
SQL statement. |
Response Parameters
Status code: 200
Parameter |
Type |
Description |
---|---|---|
execution_plans |
Array of ExecutionPlan objects |
SQL execution plan list. |
error_message |
String |
Error message displayed if the SQL execution fails. |
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
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error code. Minimum length: 8 Maximum length: 36 |
error_msg |
String |
Error message. Minimum length: 2 Maximum length: 512 |
Status code: 500
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error code. Minimum length: 8 Maximum length: 36 |
error_msg |
String |
Error message. Minimum length: 2 Maximum length: 512 |
Example Requests
Querying SQL execution plan (POST request)
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" }
Example Responses
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 Code
Status Code |
Description |
---|---|
200 |
Success. |
400 |
Bad request. |
500 |
Internal server error. |
Error Code
For details, see Error Codes.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot