Oracle
 sql >> Database >  >> RDS >> Oracle

Impostazione di un valore per LIMIT durante l'utilizzo della raccolta in blocco

Utilizzare un cursore implicito in un cursore FOR LOOP. Rende il codice più semplice e il valore predefinito di 100 è quasi sempre abbastanza buono.

Ho visto molte persone perdere molto tempo a preoccuparsi di questo. Se pensi al perché la raccolta in blocco migliora le prestazioni, capirai perché i numeri grandi non aiutano.

La raccolta in blocco migliora le prestazioni riducendo i cambi di contesto tra SQL e PL/SQL. Immagina lo scenario peggiore, altamente improbabile, in cui il cambio di contesto consuma tutto il tempo di esecuzione. Un limite di 2 elimina il 50% dei cambi di contesto; 10 elimina il 90%; 100 elimina il 99%, ecc. Traccialo e ti renderai conto che non vale la pena trovare la dimensione limite ottimale:

Usa l'impostazione predefinita. Trascorri il tuo tempo a preoccuparti di cose più importanti.