首批通过分布式安全可靠测评,为关键业务系统打造
查询执行计划的算子结构
更新时间:2026-04-14 11:55:54
功能说明
查询执行计划的算子结构。返回的结果为有序的、树形结构的操作算子信息。
调用说明
接口约束
调用者需具备指定租户的读权限。
请求路径
GET /api/v2/cluters/{clusterId}/tenants/{tenantId}/plans/{uid}/explain
请求参数
| 参数 | 类型 | 必选 | 示例值 | 描述 |
|---|---|---|---|---|
| clusterId | Integer | 是 | 1 | 集群的 Id |
| tenantId | Integer | 是 | 1001 | 租户的 Id |
| uid | String | 是 | AAAAAAAAAAEAAAAAAAKOvgAFs1_j8s3i | 计划的 uid |
| startTime | Datetime | 是 | 2020-02-16T05:32:16+08:00 | 开始时间 |
| endTime | Datetime | 是 | 2020-02-16T07:32:16+08:00 | 结束时间 |
返回结果
基础数据结构
| 参数 | 类型 | 说明 |
|---|---|---|
| data | Object | 请求的数据。 |
| ├─ data | Array | 执行计划算子的数组,执行计划算子的数据结构见下表一。 |
| ├─ notEmpty | Boolean | Plan Explain。 |
| ├─ planOperationSummery | Array | 操作列表的数组,操作列表的数据结构见下表二。 |
| ├─ rootOperations | Array | 操作算子的数组,操作算子的数据结构见下表三。 |
| successful | Boolean | 请求是否成功。 |
| timestamp | Datetime | 服务端完成请求的时间戳。 |
| duration | Integer | 服务端处理请求的时间(毫秒)。 |
| status | Integer | 符合 HTTP Status 规范的编码。 |
| traceId | String | 请求的 Trace Id,用于排查问题。 |
| server | String | 响应请求的应用服务的地址。 |
执行计划算子的数据结构
| 参数 | 类型 | 说明 |
|---|---|---|
| ClusterName | String | 集群名。 |
| CollectTimeUs | Long | Plan 被采集的时间(微秒)。 |
| Cost | Integer | 算子执行代价。 |
| CreateTime | String | 创建时间。 |
| FirstLoadTimeUs | Long | Plan 首次被加载的时间(微秒)。 |
| Id | Long | 算子 ID。 |
| ObClusterId | Long | OceanBase 集群 ID。 |
| ObServerId | Long | OceanBase 端的 ServerId。 |
| ObTenantId | Long | OceanBase 租户 ID。 |
| ObjectName | String | 操作目标的名称。 |
| Operator | String | 逻辑算子。 |
| PlanId | Long | 执行计划 ID。 |
| PlanUnionHash | String | Plan 的唯一性标识,利用 Plan 的操作、目标来进行计算。 |
| Property | String | 输出过滤。 |
| Rows | Long | 预估行。 |
操作列表的数据结构
| 参数 | 类型 | 说明 |
|---|---|---|
| operator | String | 逻辑算子。 |
| objectName | String | 操作对象。 |
操作算子的数据结构
| 参数 | 类型 | 说明 |
|---|---|---|
| operator | String | 算子的名称。 |
| objectName | String | 操作的对象,一般为表名。 |
| rows | Integer | 操作的行规模。 |
| cost | Integer | 操作的代价。 |
| property | String | 操作的输出与过滤。 |
| children | Array | 子操作的数组。 |
示例
请求示例
查询集群 Id 为 1,租户 Id 为 1001 下,物理执行计划 Uid 为 AAAAAAAAAAEAAAAAAAAJ_AAFszE_cnfR 的操作结构,计划的时间范围为 2020-11-03T19:00:00+08:00 ~2020-11-03T20:00:00+08:00。
GET /api/v2/ob/clusters/1/tenants/1001/plans/AAAAAAAAAAEAAAAAAAAJ_AAFszE_cnfR/explain?startTime=2020-11-03T19%3A00%3A00%2B08%3A00&endTime=2020-11-03T20%3A00%3A00%2B08%3A00
返回示例
{
"duration": 75,
"server": "a83ad33525",
"status": 200,
"successful": true,
"timestamp": "2020-11-11T11:12:13.216+08:00",
"traceId": "dc7f223f5f7f4ef6",
"data": {
"rootOperations": [
{
"cost": 2024,
"objectName": "NULL",
"operator": "PHY_SCALAR_AGGREGATE",
"property": "NULL",
"rows": 1,
"children": [
{
"cost": 2000,
"objectName": "__all_virtual_memory_info",
"operator": "PHY_TABLE_SCAN",
"property": "table_rows:100000, physical_range_rows:100, logical_range_rows:100, index_back_rows:0, output_rows:100, est_method:basic_stat",
"rows": 100
}
]
}
]
}
}