Визуальные / отладочные улучшения для Oracle SQL объясняют планы? - PullRequest
0 голосов
/ 21 марта 2019

Я использую Eclipse (и его Плагин инструментов данных ) для разработки БД / БИ и хотел бы получить еще визуальную / отладочную помощь в исследовании огромных объяснить планы, например, до 500 строк, например ::1007*

----------------------------------------------------------------------------------------------------------------------------------------------
 | 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 Plugin доступно, что мне не понравилось, потому что это было довольно навязчиво в отношении манипулирования проектом.)

Но, пожалуйста, , не стесняйтесь добавлять другие ответы для похожих инструментов и, возможно, снимки экрана для пользователей со схожими потребностями, но с разными средами .

Ответы [ 2 ]

2 голосов
/ 22 марта 2019

Что вы действительно хотите использовать, так это SQL Monitor.

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

1 голос
/ 21 марта 2019

С помощью следующего простого регулярного выражения найти / заменить строки , примененного к плану объяснения текста, можно получить хороший результат:
(например, включение / нажатие Editbox Eclipse Plugin Button в Редакторе, содержащем план объяснения (Просмотр) в Eclipse - любой другой редактор с аналогичными функциями отображения / выделения блоков также подойдет)

найти: ^( \|[^|]+\d \|)(\s+)

заменить: $2$1

выдаст следующий вывод (перемещая отступы операций в начало каждой строки):

enter image description here

, чтобы получить такую ​​раскраску, нужно настроить Поле ввода (Eclipse -> Window -> Preferences-> Editbox -> Others) следующим образом:

  • Highlight selected box:
    • color <Custom> <Red>, width <2>
  • Color levels: 14
  • Gradient tool: (например) from color <white> to & <dark green> (и, возможно, push Generate)

enter image description here

(Кстати: при наведении курсора на такой блок можно нажать ALT+Z, что выделит текст целым блоком , например, для простого копирования / вставки. (На соответствующем отступе) SQL также полезен для частичного выполнения кода))

...