Каково влияние компиляции пакетов ORACLE с помощью DEBUG - PullRequest
14 голосов
/ 19 января 2011

мы компилируем все наши пакеты Oracle с включенной опцией DEBUG. Это значение по умолчанию для нашей IDE (PLSQLDeveloper). Поэтому, когда мы компилируем пакет в фоновом режиме, выполняется следующее:

ALTER PACKAGE emp_mgmt
   COMPILE DEBUG PACKAGE;

Интересно, есть ли какие-нибудь последствия для производительности? Документы Oracle о ALTER PACKAGE ничего не упоминают об этом.

Ответы [ 3 ]

9 голосов
/ 20 января 2011

Существует целый ряд оптимизаций, которые может сделать компилятор PL / SQL .

Установка режима отладки эквивалентна установке уровня оптимизатора на 1 (отключение большей части оптимизации)

Так что это может оказать существенное влияние на производительность.

4 голосов
/ 19 января 2011

Oracle предоставляет API отладки для разработчиков IDE. В случае, когда Package скомпилирован с опцией DEBUG, можно установить точки прерывания с помощью этого API. Если вы скомпилировали все пакеты с опцией DEBUG, кто-то может установить точку останова через этот API для манипулирования системой!

Так что я думаю, что это больше проблема безопасности, чем проблема предварительной производительности для компиляции пакетов в режиме отладки.

EDIT: SET_BREAKPOINT Функция в документации Oracle

2 голосов
/ 27 марта 2013

Компиляция с опцией отладки определенно влияет на производительность.Простой тест, который зацикливается на вычислении метафона, например, 50 000 раз (много тестов строк, если потом ...) в режиме отладки занимает в два раза больше времени.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...