Alla ricerca di una risposta canonica alla domanda sul perché i pacchetti dovrebbero essere preferiti in un database Oracle rispetto a procedure e funzioni indipendenti.
Alla ricerca di una risposta canonica alla domanda sul perché i pacchetti dovrebbero essere preferiti in un database Oracle rispetto a procedure e funzioni indipendenti.
Risposte:
Vantaggi dei pacchetti
Raggruppamento logico - I metodi che lavorano insieme possono essere messi in un'unità coesiva piuttosto che accoppiati logicamente ma separati fisicamente.
Metodi privati sicuri : funzioni e procedure possono essere rese private per il pacchetto e utilizzate solo al suo interno. Ciò rende la superficie pubblica più semplice e sicura.
Gestione dei privilegi : le autorizzazioni possono essere concesse una volta per un gruppo di procedure che lavorano insieme anziché separatamente per ciascuna procedura / funzione richiesta.
Avvolgimento sicuro : i pacchetti avvolti sono più difficili da scartare rispetto alle funzioni / procedure avvolte.
Denominazione semplificata : uno spazio dei nomi più ampio consente nomi più semplici e che possono essere riutilizzati in altri pacchetti.
Prestazioni migliori : i pacchetti possono essere compilati e caricati nella memoria per intero piuttosto che frammentariamente come altri metodi. Questo vantaggio, se esiste, è minimo rispetto agli altri vantaggi.
Invalidazione ridotta : la modifica di un corpo del pacchetto non invalida le dipendenze come la modifica di una funzione o procedura.
Funzionalità uniche : variabili pacchetto, costanti pacchetto, inizializzazione, stato sessione, commenti pacchetto e metodi sovraccarichi.
Riferimenti:
11.2 Guida ai concetti
Poni una domanda a Tom
StackOverflow.com Domanda sulle prestazioni del pacchetto
Unwrapping Presentazione PL / SQL (pdf)