Профилирование PL/SQL-кода
Допустим ваш PL/SQL-код “тормозит”. Как узнать где? На что именно тратится больше всего времени?
На помощь приходят профилировщики.
Итак, в Oracle, есть два типа профилировщиков
1. Старый - реализован при помощи dbms_profiler.
2. Новый - иерархический, реализован при помощи dbms_hprof. Появился в 11g.
Я имел дело и со старым и с новым. Старый вносит увеличивает время выполнения PL/SQL-кода, может просто не подойти для боевой среды.
Рекомендую к использованию последний, хоть он и немного сложноват в первоначальной настройки (потребуется помощь DBA).
Использование:
1. Создается объект DIRECTORY на локальную папку на сервере + права
2. В программе вызывает dbms_hprof в начале и в конце профилирования.
3. Формируется отчет в html-формате на диске.
HTML-отчет достаточно подробный. Локализовать проблему не составит труда.
Если интересно могу запилить видос по иерархическому профилировщику 🎥
#plsql #dbms_hprof
Допустим ваш PL/SQL-код “тормозит”. Как узнать где? На что именно тратится больше всего времени?
На помощь приходят профилировщики.
Итак, в Oracle, есть два типа профилировщиков
1. Старый - реализован при помощи dbms_profiler.
2. Новый - иерархический, реализован при помощи dbms_hprof. Появился в 11g.
Я имел дело и со старым и с новым. Старый вносит увеличивает время выполнения PL/SQL-кода, может просто не подойти для боевой среды.
Рекомендую к использованию последний, хоть он и немного сложноват в первоначальной настройки (потребуется помощь DBA).
Использование:
1. Создается объект DIRECTORY на локальную папку на сервере + права
2. В программе вызывает dbms_hprof в начале и в конце профилирования.
3. Формируется отчет в html-формате на диске.
HTML-отчет достаточно подробный. Локализовать проблему не составит труда.
Если интересно могу запилить видос по иерархическому профилировщику 🎥
#plsql #dbms_hprof