2011-01-19 16 views
14

compiliamo tutti i nostri pacchetti Oracle con l'opzione DEBUG abilitata. Questo è l'impostazione predefinita per il nostro IDE (PLSQLDeveloper). Così, quando si compila un pacchetto in background viene eseguita la seguente:Qual è l'influenza della compilazione dei pacchetti ORACLE con DEBUG

ALTER PACKAGE emp_mgmt 
    COMPILE DEBUG PACKAGE; 

mi chiedo se vi siano conseguenze di performance per questo. I documenti Oracle su ALTER PACKAGE non menzionano nulla a riguardo.

risposta

8

C'è tutta una serie di optimizations that the PL/SQL compiler può fare.

Setting the mode to debug is equivalent to setting the optimizer level to 1 (disattivando la maggior parte delle ottimizzazioni)

in modo che possa avere un impatto significativo sulle prestazioni.

+1

+1 per documentazione e riferimenti. Potresti lasciare un estratto dei documenti? Ho letto da qualche parte in SO che la community dovrebbe stare sulla sua parte, quindi lasciare l'estratto qui impedisce la perdita nel caso in cui il riferimento scompaia. – DarkThrone

+0

fantastico. Grazie per i riferimenti. –

+1

Appare che entrambi i collegamenti sono morti. –

4

Oracle fornisce un'API di debug per gli sviluppatori IDE. Nel caso in cui un pacchetto sia compilato con l'opzione DEBUG, è possibile impostare i breakpoint con tale API. Se hai compilato tutti i pacchetti con l'opzione DEBUG, qualcuno può impostare un punto di interruzione tramite tale API per manipolare il sistema!

Quindi penso che sia più un problema di sicurezza che un problema di preformance per compilare i pacchetti in modalità di debug.

EDIT: SET_BREAKPOINT Function nella documentazione Oracle

+0

Grazie. Sapevo il significato dell'opzione DEBUG, ma è bene che tu abbia indicato il problema di sicurezza per questo, anche se non è un problema nei miei ambienti. Mi chiedo ancora se dia impatto alle prestazioni. –

+0

@Robe Eleckers: puoi accettare la risposta con il gancio grigio per favore? Ma solo se è quello giusto! Alla preformance: penso che in passato fossero possibili problemi di prefermazione, ma non oggi più! – Tim

+0

Aspetterò altre risposte prima di accettare questo, poiché non risponde completamente alla mia domanda. –

2

La compilazione con l'opzione di debug influisce sicuramente sulle prestazioni. Un semplice test che esegue il loop di 50.000 volte per calcolare un metaphone, ad esempio (molti test sulle stringhe, se poi ...) impiega il doppio del tempo in modalità di debug.

Problemi correlati