---
title: 如何查看 OceanBase 数据库所有租户中的查询计划？ -OceanBase数据库使用指南
description: 了解OceanBase数据库在实际应用中关于如何查看 OceanBase 数据库所有租户中的查询计划？ 相关的常见问题和使用技巧，帮助您快速解决如何查看 OceanBase 数据库所有租户中的查询计划？ 的难题。
---
切换语言

- 简体中文
- English

划线反馈

# 如何查看 OceanBase 数据库所有租户中的查询计划？

更新时间：2023-11-14 03:16

适用版本： V2.1.x、V2.2.x、V3.1.x、V3.2.x 内容类型：How-to  

可以通过 sys 租户查看 OceanBase 数据库所有租户中的查询计划以及清理执行计划缓存。

1. 登录 sys 租户，可以通过以下命令查询 OceanBase 数据库所有租户的查询计划。

   ```unknow
   obclient> SELECT svr_ip,svr_port, plan_Id,TYPE,d.database_name, query_sql, first_load_time, avg_exe_usec, slow_count,executions, slowest_exe_usec, sql_id FROM `gv$plan_cache_plan_stat` s JOIN `gv$database` d ON (s.tenant_id=d.tenant_id AND s.db_id=d.database_id) WHERE s.tenant_id=1001 AND d.database_name LIKE 'TPCC%' AND query_sql LIKE '%"BMSQL_WAREHOUSE"%' ORDER BY avg_exe_usec desc;

   ```
 2. 根据上述得到的 `TENANT_ID`、`PLAN_ID`、`SVR_IP` 和 `SVR_PORT`，查询 `gv$plan_cache_plan_explain` 视图，展示对应的执行计划。

   ```unknow
   oceanbase 16:01:01> SELECT * FROM gv$plan_cache_plan_explain WHERE tenant_id=1 AND plan_id=582518 and ip='xx.xxx.xx.xxx' and port=2882;
   +-----------+---------------+------+---------+------------------+-----------------------+------+------+-------------------------------------------------------------------------------------------------------------------------------+
   | TENANT_ID | IP            | PORT | PLAN_ID | OPERATOR         | NAME                  | ROWS | COST | PROPERTY                                                                                                                      |
   +-----------+---------------+------+---------+------------------+-----------------------+------+------+-------------------------------------------------------------------------------------------------------------------------------+
   |         1 | xx.xxx.xx.xxx | 2882 |  582518 |  PHY_SORT        | NULL                  |  100 | 2418 | NULL                                                                                                                          |
   |         1 | xx.xxx.xx.xxx | 2882 |  582518 |   PHY_TABLE_SCAN | __all_virtual_sysstat |  100 | 2000 | table_rows:100000, physical_range_rows:100, logical_range_rows:100, index_back_rows:0, output_rows:100, est_method:basic_stat |
   +-----------+---------------+------+---------+------------------+-----------------------+------+------+-------------------------------------------------------------------------------------------------------------------------------+
   2 rows in set (0.03 sec)

   ```

   #### 注意

   如果不提供上述的四个字段，查询 `gv$plan_cache_plan_explain` 将不会返回任何结果

此外，如果您想清理执行计划缓存，可以通过 root 用户登录到 sys 租户，执行以下命令。

```unknow
obclient> ALTER SYSTEM FLUSH PLAN CACHE GLOBAL;

```

Previous

[ANALYZE TABLE 报错 -4016](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000217868)

Next

[OceanBase 数据库如何固化视图中 SQL 的执行计划](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000217884) ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
