Visual/debugging Oracle 的增强功能 SQL 解释计划?

Visual/debugging enhancements for Oracle SQL explain plans?

我正在使用 Eclipse(及其 Data Tools Plugin)进行 DB/BI 开发,希望有更多 visual/debugging 帮助 检查庞大的解释计划,例如最多 500 行,例如:

----------------------------------------------------------------------------------------------------------------------------------------------
 | Id  | Operation                                             | Name                         | Rows  | Bytes |TempSpc| Cost (%CPU)| Time     |
 ----------------------------------------------------------------------------------------------------------------------------------------------
 |   0 | SELECT STATEMENT                                      |                              |  4077K|    21G|       |  7224K  (3)| 00:04:43 |
 |   1 |  SORT AGGREGATE                                       |                              |     1 |    15 |       |            |          |
 |*  2 |   TABLE ACCESS BY INDEX ROWID BATCHED                 | TAB1                         |     1 |    15 |       |     2   (0)| 00:00:01 |
 |*  3 |    INDEX RANGE SCAN                                   | IDX_FK_1111111111            |     1 |       |       |     1   (0)| 00:00:01 |
 |   4 |  SORT AGGREGATE                                       |                              |     1 |    15 |       |            |          |
 |*  5 |   TABLE ACCESS BY INDEX ROWID BATCHED                 | TAB1                         |     1 |    15 |       |     2   (0)| 00:00:01 |
 |*  6 |    INDEX RANGE SCAN                                   | IDX_FK_2222222222            |     1 |       |       |     1   (0)| 00:00:01 |
 |   7 |  WINDOW SORT                                          |                              |   153 |  5967 |       |    32   (7)| 00:00:01 |
 |*  8 |   HASH JOIN                                           |                              |   153 |  5967 |       |    31   (4)| 00:00:01 |
 ...

留在 Eclipse 中很好,这样我就不必 setup/change 环境了。

(我认为 SQL Developer and/or Toad 有一些图形解释计划查看器与分层 collapse/expand 功能,其中还有一些我不喜欢的 Toad Eclipse 插件可用,因为它对项目操作非常干扰。)

但是请随意添加类似工具的其他答案,也许还有屏幕截图对于具有类似需求但环境不同的用户

将以下简单的 正则表达式 find/replace 字符串 应用于文本解释计划,可以获得不错的结果:
(例如 enabling/pushing Editbox Eclipse Plugin Button 在包含解释计划的 Editor (View) in Eclipse - 任何其他编辑器具有类似块 display/highlight 功能也可以)

查找:^( \|[^|]+\d \|)(\s+)

替换为:</code></strong></p> <p>将产生以下输出(将操作缩进移至每行的开头):</p> <p><a href="https://i.stack.imgur.com/1xlJo.png" rel="nofollow noreferrer"><WBIMG:11232659-1.png></a></p> <p>要获得这种着色,必须这样调整 <a href="https://marketplace.eclipse.org/content/editbox" rel="nofollow noreferrer"><strong><em>Editbox</em></strong></a> (<code>Eclipse -> Window -> Preferences-> Editbox -> Others):

  • Highlight selected box:
    • color <Custom> <Red>,width <2>
  • Color levels: 14
  • Gradient tool:(例如)from color <white> to & <dark green>(也许推Generate

(顺便说一句:将鼠标悬停在这样的块上可以按 ALT+Z 这将 text-select 整个块 例如简单 copy/paste。(在适当缩进的 SQL 上也对部分代码执行有用))

你真正想用的是SQL监控。

https://sqlmaria.com/2017/08/01/getting-the-most-out-of-oracle-sql-monitor/