Uso di query con parametri
linkProponente | Stato | Grado d'interesse | Diff. | Riferimenti |
Francesco Sandrelli - Area.It Spa | stato | Molto alto (1 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
Anteo Termite - 01/04/2009 10:03
Interesse: Molto alto E' un'ottimizzazione che pensavo InDE implementasse già. Sicuramente una MUST per un software. |
Anteo Termite - 01/04/2009 10:03
Interesse: Molto alto E' un'ottimizzazione che pensavo InDE implementasse già. Sicuramente una MUST per un software. |
Attenzione, questo articolo è stato dichiarato obsoleto! Ultima modifica: 26/10/2010 / Validità: da 8.0.3560