如何在OceanBase中只获取SQL语句的执行计划和执行时间,而不返回实际查询结果数据?

如何在OceanBase中只获取SQL语句的执行计划和执行时间,而不返回实际查询结果数据?

1、explain 或者explain extended
2、select dbms_xplan.display_cursor(0, ‘all’);

OceanBase 数据库支持类似于 EXPLAIN ANALYZE 的功能,通过 EXPLAIN 语句结合 GV$SQL_PLAN_MONITOR 视图可以获取 SQL 的执行计划和性能指标,而不会回显查询结果。具体步骤如下:

使用 EXPLAIN 语句:

EXPLAIN FOR PLAN (SELECT * FROM your_table WHERE your_condition);
这条语句会生成执行计划,但不会实际执行 SQL。

使用 GV$SQL_PLAN_MONITOR 视图:

SELECT * FROM GV$SQL_PLAN_MONITOR WHERE SQL_ID = ‘<your_sql_id>’;
通过这条语句可以获取 SQL 的执行计划和性能指标,如首行返回时间、输出行数、HASH 冲突率和磁盘落盘次数等。

这种方法可以帮助你在不回显查询结果的情况下获取 SQL 的执行耗时和执行计划。

学到了