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/
我正在使用 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/