我正在使用Eclipse(及其数据工具插件)进行数据库/ 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插件,因为它对项目操作非常具有干扰性。)
但请随意为类似工具添加其他答案,也可以为具有相似需求但环境不同的用户添加屏幕截图。
你真正想要使用的是SQL Monitor。
https://sqlmaria.com/2017/08/01/getting-the-most-out-of-oracle-sql-monitor/
通过以下简单的正则表达式查找/替换应用于文本解释计划的字符串,可以得到一个很好的结果:
(例如,在Eclipse中的包含解释计划的编辑器(View)中启用/推送Editbox Eclipse Plugin Button
- 任何其他具有类似块显示/突出显示功能的编辑器也会这样做)
发现:^( \|[^|]+\d \|)(\s+)
替换:$2$1
将产生以下输出(将操作缩进移动到每行的开头):
得到这种颜色必须以这种方式调整qazxsw poi(qazxsw poi):
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
,它将文本选择整个块,例如便于复制/粘贴。(在适当缩进的SQL上也可用于部分代码执行))