Есть ли у Oracle средства для отображения планов выполнения запросов, такие как Sybase 'showplan'? - PullRequest
1 голос
/ 21 июля 2011

Я - администратор Sybase / оптимизатор производительности, и меня попросили посмотреть на производительность некоторых SQL-запросов в Oracle и выяснить, в чем проблема и почему она медленная.Есть ли шоу-план похож на Sybase?Мне нужно получить количество физических операций ввода-вывода и логических операций ввода-вывода, сканирования таблиц и индексации запросов или хранимых процедур.

Раньше я использовал Embarcadero, и у меня его больше нет.

Ответы [ 2 ]

4 голосов
/ 21 июля 2011

План объяснения и / или AutoTrace - это эквивалент Oracle, который даст вам возможный план выполнения, который Oracle будет использовать, если вы выполните запрос.

В SQLPLUS вы можете сделать это ..

SQL> set autotrace traceonly;

SQL> select * from scott.emp;

14 rows selected.

Execution Plan
----------------------------------------------------------
Plan hash value: 3956160932

--------------------------------------------------------------------------
| Id  | Operation         | Name | Rows  | Bytes | Cost (%CPU)| Time     |
--------------------------------------------------------------------------
|   0 | SELECT STATEMENT  |      |    14 |   518 |     3   (0)| 00:00:01 |
|   1 |  TABLE ACCESS FULL| EMP  |    14 |   518 |     3   (0)| 00:00:01 |
--------------------------------------------------------------------------


Statistics
----------------------------------------------------------
          0  recursive calls
          0  db block gets
          8  consistent gets
          0  physical reads
          0  redo size
       1415  bytes sent via SQL*Net to client
        381  bytes received via SQL*Net from client
          2  SQL*Net roundtrips to/from client
          0  sorts (memory)
          0  sorts (disk)
         14  rows processed

Здесь доступны различные другие варианты в зависимости от уровня детализации и вашего конкретного сценария.

http://www.oracle -base.com / статьи / 10г / SQLTrace10046TrcsessAndTkprof10g.php

1 голос
/ 21 июля 2011

Я не уверен, что все это доступно в нем, но Oracle SQL Developer позволяет вам ввести запрос и нажать «Объяснить план», чтобы увидеть план выполнения.Это включает в себя то, что он собирается делать, и любые используемые им индексы.

Это бесплатный инструмент, так что попробуйте.:)

...