В первой части статьи было сказано, что профилирование - это прогон программы с регистрацией времени выполнения ее модулей (подпрограмм) или ее отдельных команд (строк).
Данные, собранные в ходе профилирования, показывают, сколько времени уходит на выполнение отдельных модулей или команд программы. Выяснив, какие модули выполняются дольше всего, разработчик может сосредоточиться на их оптимизации.
В СУБД Oracle 11g главным инструментом профилирования PL/SQL является иерархический профайлер (hierarchical profiler). Иерархический профайлер, в частности, обеспечивает
- регистрацию времени выполнения отдельно для SQL и PL/SQL кода,
- подсчет числа вызовов каждой подпрограммы PL/SQL и времени, затраченного на ее выполнение,
- генерацию набора отчетов для анализа данных о выполнении программы.