有没有类似于autotrace的功能?能够看到真实的执行时间和行数

【 使用环境 】测试环境
【 OB or 其他组件 】OB
【 使用版本 】社区版 4.5
【问题描述】
有没有类似于autotrace的功能?能够看到真实的执行时间和行数,试了explain analyze不支持

【复现路径】问题出现前后相关操作
【附件及日志】

推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):

【SOP系列 22 】——故障诊断第一步(自助诊断和诊断信息收集)

【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!

2 个赞

@论坛小助手

1 个赞

在 OceanBase 数据库中,虽然没有直接与 Oracle 的 autotrace 完全对应的特性,但可以通过 SHOW TRACE 功能来获取 SQL 语句的执行计划、实际执行时间和行数等详细信息。此外,还可以通过 oceanbase.gv$ob_sql_audit 视图来获取 SQL 语句的执行统计信息。

  1. 使用 SHOW TRACE 功能

    • 在执行 SQL 语句后,可以使用 SHOW TRACE 命令来查看该语句的执行调用链路情况以及各阶段的耗时情况。
    • 示例:
      SELECT * FROM t1;
      SHOW TRACE;
      
  2. 查询 oceanbase.gv$ob_sql_audit 视图

    • 该视图提供了 SQL 语句的执行统计信息,包括实际执行时间、行数等。
    • 示例:
      SELECT request_id, usec_to_time(request_time), ELAPSED_TIME, QUEUE_TIME, EXECUTE_TIME, query_sql
      FROM oceanbase.gv$ob_sql_audit
      WHERE ELAPSED_TIME > 100000
      LIMIT 10;
      

这些方法可以帮助你获取 SQL 语句的实际执行时间和行数等信息,从而进行性能分析和调优。

具体信息可参考以下文档:

  1. 全链路追踪展示
  2. sql_audit视图request_time微秒数转化时间戳
2 个赞



配置了show trace功能,但是没有结果,哪里配置有问题吗?

推荐使用ocp配置全链路跟踪
https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005682499

学会了

看官方文档