DescribeQueryExplain - 查询SQL执行计划

更新时间:
复制 MD 格式

查询SQL的执行计划。

接口说明

  • 当前仅支持 RDS MySQL 和 PolarDB MySQL 实例查询 SQL 的执行计划。

  • 使用阿里云或 DAS 的 SDK 时,建议使用最新版本。

  • 在使用 SDK 调用 DAS 服务时,需要将地域指定为 cn-shanghai。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

调试

授权信息

下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:

  • 操作:是指具体的权限点。

  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。

  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:

    • 对于必选的资源类型,用前面加 * 表示。

    • 对于不支持资源级授权的操作,用全部资源表示。

  • 条件关键字:是指云产品自身定义的条件关键字。

  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。

操作

访问级别

资源类型

条件关键字

关联操作

hdm:DescribeQueryExplain

get

*全部资源

*

无 无

请求语法

POST  HTTP/1.1

请求参数

名称

类型

必填

描述

示例值

InstanceId

string

是

实例 ID。

rm-2ze8g2am97624****

NodeId

string

否

节点 ID。

说明

对于 PolarDB MySQL 版实例,若提供节点 ID,将到指定节点查询执行计划,否则将在备节点查询执行计划。 对于 RDS MySQL 高可用实例,若将实例 ID 传入,将到指定节点查询执行计划,否则将在备节点查询执行计划。

pi-bp1v203xzzh0a****

Sql

string

是

待查询执行计划的 SQL。

select * from test where name = 'mockUser'

DbName

string

否

数据库名。

dbtest01

Schema

string

否

schema 信息,预留参数。

无

返回参数

名称

类型

描述

示例值

object

Schema of Response

Code

string

返回的状态码,200 表示成功。

200

Message

string

请求返回消息。

说明

请求成功时该参数返回 Successful,请求失败时会返回请求异常信息(如错误码等)。

Successful

RequestId

string

请求 ID。

B6D17591-B48B-4D31-9CD6-9B9796B2****

Success

string

请求是否执行成功:

  • true:执行成功。

  • false:执行失败。

true

Data

array<object>

List

object

返回数据。

Id

string

查询 ID。

1

SelectType

string

查询类型。

SIMPLE

Table

string

表名。

test

Type

string

Join 类型。

eq_ref

PossibleKeys

string

可能被选择的索引。

test_idx

Key

string

执行计划中,实际选择的索引。

PRIMARY

KeyLen

string

实际选择索引的长度。

3

Ref

string

索引所用的列。

test_column

Rows

string

待扫描行数。

1000

Extra

string

附加信息。

无

QueryPlan

string

保留字段,用于 PG 引擎。

无

TableList

array

保留字段,用于 PG 引擎。

string

保留字段,用于 PG 引擎。

无

IndexList

array

保留字段,用于 PG 引擎。

string

保留字段,用于 PG 引擎。

无

LogicalPlanList

array

保留字段,用于 PolarDB X 引擎。

string

保留字段,用于 PolarDB X 引擎。

无

StmtText

string

保留字段,用于 SQLServer 引擎。

无

StmtId

string

保留字段,用于 SQLServer 引擎。

无

NodeId

string

保留字段,用于 SQLServer 引擎。

无

Parent

string

保留字段,用于 SQLServer 引擎。

无

PhysicalOp

string

保留字段,用于 SQLServer 引擎。

无

LogicalOp

string

保留字段,用于 SQLServer 引擎。

无

Argument

string

保留字段,用于 SQLServer 引擎。

无

DefinedValues

string

保留字段,用于 SQLServer 引擎。

无

EstimateRows

string

保留字段,用于 SQLServer 引擎。

无

EstimateIO

string

保留字段,用于 SQLServer 引擎。

无

EstimateCPU

string

保留字段,用于 SQLServer 引擎。

无

AvgRowSize

string

保留字段,用于 SQLServer 引擎。

无

TotalSubtreeCost

string

保留字段,用于 SQLServer 引擎。

无

OutputList

string

保留字段,用于 SQLServer 引擎。

无

Warnings

string

保留字段,用于 SQLServer 引擎。

无

Parallel

string

保留字段,用于 SQLServer 引擎。

无

EstimateExecutions

string

保留字段,用于 SQLServer 引擎。

无

示例

正常返回示例

JSON格式

{
  "Code": "200",
  "Message": "Successful",
  "RequestId": "B6D17591-B48B-4D31-9CD6-9B9796B2****",
  "Success": "true",
  "Data": [
    {
      "Id": "1",
      "SelectType": "SIMPLE",
      "Table": "test",
      "Type": "eq_ref",
      "PossibleKeys": "test_idx",
      "Key": "PRIMARY",
      "KeyLen": "3",
      "Ref": "test_column",
      "Rows": "1000",
      "Extra": "无",
      "QueryPlan": "无",
      "TableList": [
        "无"
      ],
      "IndexList": [
        "无"
      ],
      "LogicalPlanList": [
        "无"
      ],
      "StmtText": "无",
      "StmtId": "无",
      "NodeId": "无",
      "Parent": "无",
      "PhysicalOp": "无",
      "LogicalOp": "无",
      "Argument": "无",
      "DefinedValues": "无",
      "EstimateRows": "无",
      "EstimateIO": "无",
      "EstimateCPU": "无",
      "AvgRowSize": "无",
      "TotalSubtreeCost": "无",
      "OutputList": "无",
      "Warnings": "无",
      "Parallel": "无",
      "EstimateExecutions": "无"
    }
  ]
}

错误码

HTTP status code

错误码

错误信息

描述

400 InvalidParams The request parameters are invalid. 请求参数错误

访问错误中心查看更多错误码。

变更历史

更多信息,参考变更详情。