Oracle SQL解释计划的视觉/调试功能增强了吗?

时间:2019-03-21 20:42:11

标签: sql oracle eclipse-plugin sql-execution-plan oracledb

我正在使用 Eclipse (及其 Data Tools Plugin )进行DB / BI开发,并且希望获得更多的视觉/调试帮助在检查巨大的解释计划,例如最多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中很不错,所以我不必设置/更改环境。

(我认为 SQL Developer 和/或 Toad 有一些图形解释了具有分层折叠/展开功能的计划查看器,其中还有一些 Toad 我不喜欢的Eclipse插件可用,因为它在项目操作方面相当麻烦。)

但是,请随意为类似的工具添加其他答案,或者为具有类似需求但环境不同的用户添加截图。

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

在文本解释计划中应用以下简单的 regex查找/替换字符串可以得到不错的结果:
(例如,在 Eclipse 中的包含解释计划的 Editor(视图)中启用/推动Editbox Eclipse Plugin Button-具有类似块显示/突出显示功能的其他任何编辑器都将也可以)

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

替换:$2$1

将产生以下输出(将操作缩进移动到每一行的开头):

enter image description here

要获得这种着色,就必须这样调整EditboxEclipse -> Window -> Preferences-> Editbox -> Others):

  • Highlight selected box:
    • color <Custom> <Red> width <2>
  • Color levels: 14
  • Gradient tool: (例如 from color <white> to <dark green> (甚至可以按{{1 }})

enter image description here

(顺便说一句:将鼠标悬停在这样的块上,可以按 Generate ,这会文本选择整个块,例如,以便于复制/粘贴。 (在适当缩进的SQL上,对于部分代码执行也很有用)