Oracle Developer👨🏻‍💻
3.17K subscribers
583 photos
64 videos
2 files
470 links
🔝 канал о разработке в СУБД Oracle:
SQL, PL/SQL, оптимизация, архитектура и многое другое...

Backend-pro.ru - обучение по различным программам, связанных с backend-разработкой для ФЛ и ЮЛ.

Отец-основатель: @denis_dbd Кивилёв Денис
Download Telegram
Профилирование 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