Comments 9
Спасибо! Много лет пользуюсь PL/SQL Developer, а о такой возможности узнал только сейчас.
0
Отличная статья, спасибо! Ждем продолжения.
0
А это профилирование изолированно от реальных данных?
0
Конкретно этот пример был показан для выявления проблем на тестовой/разработческой среде. Можно конкретнее в чем заключается вопрос?
0
Ну то есть, если у меня уже есть написанные процедуры и я хочу найти в них слабое место. Выполнение профилирования отразится на таблицах, которые учавствуют в процедуре? Или это будет сделано без коммита данных?
0
В принципе, PL/SQL Developer использует тот же DBMS_PROFILER (кстати, есть еще иерархический профайлер ).
Для большей автоматизации иногда удобнее пользоваться своими запросами к этим же таблицам. Вот рыба для них:
Для большей автоматизации иногда удобнее пользоваться своими запросами к этим же таблицам. Вот рыба для них:
select r.runid
,r.related_run
,r.run_owner
,r.run_date
,r.run_comment
,r.run_total_time
,r.run_system_info
,r.run_comment1
,u.unit_number
,u.unit_type
,u.unit_owner
,u.unit_name
,d.line#
,s.TEXT
,u.total_time
,d.total_occur
,d.total_time
,d.min_time
,d.max_time
from plsql_profiler_runs r
join plsql_profiler_data d
on r.runid = d.runid
join plsql_profiler_units u
on d.runid = u.runid
and d.unit_number = u.unit_number
left join all_source s
on u.unit_owner = s.OWNER
and u.unit_name = s.NAME
and u.unit_type = s.TYPE
and d.line# = s.LINE
where 1=1
-- and r.run_owner = user -- запуски от текущей юзера
-- and r.runid = (select max(runid) from plsql_profiler_runs where run_owner=user) -- последний запуск
order by r.runid,r.related_run,u.unit_number,d.line#;
0
В нем (PLSQL Dev) удобно еще дебажить.
Спасибо за статью.
Спасибо за статью.
0
Хотелось бы добавить, что двойной клик по строке в профайлере в PL/SQL Dev переводит к соответствующей строке исходного кода. Это полезно, когда в тестовом окне вызываются пакетные функции. Разумеется, пакет не должен быть скомпилирован нативно.
0
Sign up to leave a comment.
Профилирование PL/SQL кода при помощи IDE PL/SQL Developer