获取SQL执行计划 - GetPlan
功能介绍
获取SQL执行计划。
调试
您可以在API Explorer中调试该接口。
授权信息
账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权,具体权限要求请参见权限和授权项。
- 如果使用身份策略授权,需具备如下身份策略权限。
授权项
访问级别
资源类型(*为必须)
条件键
别名
依赖的授权项
das:clouddba:getSqlExecutionPlan
read
instance
-
-
-
URI
POST /v3/{project_id}/connections/{connection_id}/get-plan
请求参数
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
database_name | 是 | String | 参数解释: 数据库名称。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
schema_name | 否 | String | 参数解释: schema名称。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
sql_script | 是 | String | 参数解释: SQL脚本。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
node_id | 否 | String | 参数解释: 实例节点ID。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
node_type | 否 | String | 参数解释: 节点类型。 约束限制: 不涉及。 取值范围:
默认取值: 不涉及。 |
use_default_search_path | 否 | Boolean | 参数解释: PostgreSQL是否使用默认searchPath。 约束限制: 仅在实例是PostgreSQL时可用。 取值范围: 不涉及。 默认取值: 不涉及。 |
ignore_limit | 否 | String | 参数解释: 数据库名称。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
perpage | 是 | String | 参数解释: 每页记录数。 约束限制: 不涉及。 取值范围: [0, 100],实际取决于查询。 默认取值: 不涉及。 |
curpage | 是 | String | 参数解释: 页码。 约束限制: 不涉及。 取值范围: [0, 2^31-1],实际取决于查询。 默认取值: 不涉及。 |
响应参数
状态码: 200
参数 | 参数类型 | 描述 |
|---|---|---|
column_values | Array of Maps | 参数解释: 字段值。 取值范围: 不涉及。 |
metadata | Array of 表4 Objects | 参数解释: 字段属性,字段名等。 取值范围: 不涉及。 |
result_type | String | 参数解释: 结果集类型。 取值范围: 不涉及。 |
rows | Integer | 参数解释: 行数。 取值范围: 不涉及。 |
time_delay | String | 参数解释: 执行耗时。 取值范围: 不涉及。 |
can_edit | Long | 参数解释: 结果集是否可编辑。 取值范围: 不涉及。 |
can_export | Boolean | 参数解释: 结果集是否可导出。 取值范围: 不涉及。 |
edit_db_name | String | 参数解释: 编辑库名。 取值范围: 不涉及。 |
edit_table | String | 参数解释: 编辑表名。 取值范围: 不涉及。 |
edit_primary_keys | Array of Strings | 参数解释: 主键信息。 取值范围: 不涉及。 |
cannot_edit_reason | Integer | 参数解释: 不能编辑的原因。 取值范围:
|
extend_datas | Array of 表3 Objects | 参数解释: 额外信息。 取值范围: 不涉及。 |
data_sum | Integer | 参数解释: 数据总量。 取值范围: 不涉及。 |
big_table | Boolean | 参数解释: 是否为大标。 取值范围: 不涉及。 |
warning | Array of Strings | 参数解释: 执行命令告警信息。 取值范围: 不涉及。 |
sql | String | 参数解释: 要执行的SQL语句。 取值范围: 不涉及。 |
explain_sql | Boolean | 参数解释: 是否为执行计划语句。 取值范围: 不涉及。 |
page_state | String | 参数解释: 页面状态。 取值范围: 不涉及。 |
exceed_data | Boolean | 参数解释: 查询结果是否超过规定大小。 取值范围: 不涉及。 |
execute_status | String | 参数解释: 执行状态。 取值范围:
|
参数 | 参数类型 | 描述 |
|---|---|---|
auto_increment | Boolean | 参数解释: 是否自增。 取值范围: 不涉及。 |
data_type | String | 参数解释: 数据类型。 取值范围: 不涉及。 |
db_name | String | 参数解释: 数据库名称。 取值范围: 不涉及。 |
label | String | 参数解释: 标签。 取值范围: 不涉及。 |
name | String | 参数解释: 名称。 取值范围: 不涉及。 |
real_name | String | 参数解释: 实际名称。 取值范围: 不涉及。 |
size | Integer | 参数解释: 尺寸大小。 取值范围: 不涉及。 |
table_name | String | 参数解释: 表名。 取值范围: 不涉及。 |
schema_name | String | 参数解释: schema名称。 取值范围: 不涉及。 |
readonly | Boolean | 参数解释: 是否只读。 取值范围: 不涉及。 |
is_binary | Boolean | 参数解释: 是否二进制。 取值范围: 不涉及。 |
int_data_type | Integer | 参数解释: 数据类型。 取值范围: 不涉及。 |
请求示例
POST https://das.cn-north-1.myhuaweicloud.com/v3/054e292c9880d4992f02c0196d3ea468/connections/179e525e-0e9c-4dcc-9dd7-ee2f36121e23/get-plan
{
"node_id": "7c1efa30d2a340b68bc0a80652e14179no01",
"node_type": "master",
"database_name": "czh_test",
"sql_script": "SELECT *\nFROM lbw",
"curpage": 1,
"perpage": 50,
"ignore_limit": false
} 响应示例
状态码: 200
Success.
{
"column_values": [
{
"COLUMN_5": "ALL",
"COLUMN_2": "SIMPLE",
"COLUMN_11": "100.00",
"COLUMN_1": "1",
"COLUMN_10": "1002",
"COLUMN_3": "lbw"
}
],
"metadata": [
{
"auto_increment": false,
"data_type": "BIGINT UNSIGNED",
"db_name": "",
"label": "id",
"name": "COLUMN_1",
"real_name": "id",
"size": 3,
"table_name": "",
"schema_name": "",
"readonly": false
},
{
"auto_increment": false,
"data_type": "VARCHAR",
"db_name": "",
"label": "select_type",
"name": "COLUMN_2",
"real_name": "select_type",
"size": 19,
"table_name": "",
"schema_name": "",
"readonly": false
},
{
"auto_increment": false,
"data_type": "VARCHAR",
"db_name": "",
"label": "table",
"name": "COLUMN_3",
"real_name": "table",
"size": 64,
"table_name": "",
"schema_name": "",
"readonly": false
},
{
"auto_increment": false,
"data_type": "MEDIUMTEXT",
"db_name": "",
"label": "partitions",
"name": "COLUMN_4",
"real_name": "partitions",
"size": 6316032,
"table_name": "",
"schema_name": "",
"readonly": false
},
{
"auto_increment": false,
"data_type": "VARCHAR",
"db_name": "",
"label": "type",
"name": "COLUMN_5",
"real_name": "type",
"size": 10,
"table_name": "",
"schema_name": "",
"readonly": false
},
{
"auto_increment": false,
"data_type": "VARCHAR",
"db_name": "",
"label": "possible_keys",
"name": "COLUMN_6",
"real_name": "possible_keys",
"size": 4096,
"table_name": "",
"schema_name": "",
"readonly": false
},
{
"auto_increment": false,
"data_type": "VARCHAR",
"db_name": "",
"label": "key",
"name": "COLUMN_7",
"real_name": "key",
"size": 64,
"table_name": "",
"schema_name": "",
"readonly": false
},
{
"auto_increment": false,
"data_type": "VARCHAR",
"db_name": "",
"label": "key_len",
"name": "COLUMN_8",
"real_name": "key_len",
"size": 4096,
"table_name": "",
"schema_name": "",
"readonly": false
},
{
"auto_increment": false,
"data_type": "VARCHAR",
"db_name": "",
"label": "ref",
"name": "COLUMN_9",
"real_name": "ref",
"size": 1024,
"table_name": "",
"schema_name": "",
"readonly": false
},
{
"auto_increment": false,
"data_type": "BIGINT UNSIGNED",
"db_name": "",
"label": "rows",
"name": "COLUMN_10",
"real_name": "rows",
"size": 10,
"table_name": "",
"schema_name": "",
"readonly": false
},
{
"auto_increment": false,
"data_type": "DOUBLE",
"db_name": "",
"label": "filtered",
"name": "COLUMN_11",
"real_name": "filtered",
"size": 4,
"table_name": "",
"schema_name": "",
"readonly": false
},
{
"auto_increment": false,
"data_type": "VARCHAR",
"db_name": "",
"label": "Extra",
"name": "COLUMN_12",
"real_name": "Extra",
"size": 255,
"table_name": "",
"schema_name": "",
"readonly": false
}
],
"result_type": "metadata",
"rows": 1,
"time_delay": 3,
"can_edit": false,
"true": false,
"cannot_edit_reason": 1004,
"data_sum": 44,
"big_table": false,
"sql": "/*sql from das*/explain SELECT *\nFROM lbw",
"explain_sql": true,
"exceed_data": false,
"execute_status": "finished"
} 状态码
状态码 | 描述 |
|---|---|
200 | Success. |
400 | Client error. |
500 | Server error. |
错误码
请参见错误码。

