DescribeQueryExplain - 查询SQL执行计划

查询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

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.

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

变更历史

更多信息,参考变更详情