可以用于分析一次SQL执行的性能?

哪些手段可以用于分析一次SQL执行的性能?

7 个赞

@论坛小助手 回答下

2 个赞

可以采用以下几种手段来分析一次 SQL 执行的性能:
A. 在 SQL 执行结束后调用 DBMS_XPLAN.DISPLAY_CURSOR 查看执行耗时信息和执行计划
B. 在 SQL 执行过程中调用 DBMS_XPLAN.DISPLAY_ACTIVE_SESSION_PLAN 查看执行耗时信息和执行计划
C. 收集全链路 Trace,在 SQL 执行结束时查看链路耗时分布
D. 在 SQL 执行过程中查询 GV$OB_SQL_AUDIT 看执行耗时信息
这些手段分别适用于不同的场景,例如选项 A 和 B 更加适用于对执行计划的分析,而 C 和 D 则有助于从更宏观的角度把握整个执行过程中的性能表现。

更多信息请查看:

  1. SQL 性能问题的典型场景和排查思路
  2. 使用命令行进行运维
  3. 分析慢 SQL 查询
  4. 诊断实践:使用 SQL_PLAN_MONITOR 分析性能问题
5 个赞

感谢分享

3 个赞

666666

1 个赞

可以用于分析一次SQL执行性能的手段包括:

  1. 使用 show tracesql auditsql plan monitor 这些工具,这些工具可以帮助我们了解SQL执行的具体情况,包括各阶段的耗时等。
  2. 通过 oceanbase.gv$ob_sql_audit 查看具体的耗时情况。
  3. 使用 explain extended 展示的执行计划来分析优化器的估行和真实行数是否有巨大差距,以此判断是否需要手动收集统计信息。
  4. 使用 SQL Diagnoser 工具进行 SQL 性能诊断和分析。
  5. 在OCP平台中利用完善的慢SQL分析功能,如执行计划、执行频率、耗时等,以快速定位慢SQL的相关信息。

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

  1. SQL 性能问题的典型场景和排查思路
  2. 通过 SQL Diagnoser 工具进行 SQL 性能诊断和分析
  3. SQL 诊断
  4. 分析慢 SQL 查询
1 个赞

感谢分享

1 个赞

:+1: :+1:

感谢解答SQL问题!对于DBMS场景,我的经验是重点关注XPLAN配置。

最常用肯定是 explain