如何在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 的执行耗时和执行计划。
学到了