Uso di query con parametri
copia linkProponente | Stato | Grado d'interesse | Diff. | Riferimenti |
Francesco Sandrelli - Area.It Spa | stato | (0 voti) | 16 | Document Orientation Ambito - Miglioramento - Tipo 413 |
Titolo
Uso di query con parametri
Descrizione
Velocizzare il caricamento dei documenti permettendo l'utilizzo dei Prepared Statement.
Beneficio della modifica
Alcuni database, e per certo Oracle, possiedono una cache (library cache) delle istruzioni SQL passate al DB che permette di riutilizzare la parserizzazione già fatta in precedenza.
Se una select generata dal programma richiede un tempo Tp per la parserizzazione e un tempo Te per l'esecuzione e tale select viene richiesta N volte al programma, Oracle impiega così un tempo Tp + N x Te anziché N x (Tp+Te). Su un caso reale di una query nemmeno particolarmente complessa (select su un'unica vista di una ventina di campi) Tp è stato stimato attorno ai 2 secondi.
Se non si usano i parametri due query che differiscono solo per il valore di un filtro non beneficiano di questa ottimizzazione.
Esempio:
SELECT A,B,C from TBL where A='XXX'
SELECT A,B,C from TBL where A='YYY'
Non vengono riconosciute da Oracle come la stessa query: N x (Tp+Te)
SELECT A,B,C from TBL where A=? , par='XXX'
SELECT A,B,C from TBL where A=? , par='YYY'
Vengono riconosciute da Oracle come la stessa query: Tp + N x Te
Commenti
Attenzione, questo articolo è stato dichiarato obsoleto! Ultima modifica: 23/03/2021 / Validità: da 8.0.3560