首批通过分布式安全可靠测评,为关键业务系统打造
查询执行计划的算子结构
更新时间:2023-08-10 11:45:58
功能说明
查询执行计划的算子结构。返回的结果为有序的、树形结构的操作算子信息。
调用说明
接口约束
调用者需具备指定租户的读权限。
请求路径
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 | 请求的数据。 |
| ├─ rootOperations | Array | 操作算子的数组,操作算子的数据结构见下表。 |
| successful | Boolean | 请求是否成功。 |
| timestamp | Datetime | 服务端完成请求的时间戳。 |
| duration | Integer | 服务端处理请求的时间(毫秒)。 |
| status | Integer | 符合 HTTP Status 规范的编码。 |
| traceId | String | 请求的 Trace Id,用于排查问题。 |
| server | 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
}
]
}
]
}
}