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

Qual è il modo più veloce per inserire dati in una tabella Oracle?

È molto meglio inserire alcune centinaia di righe alla volta, utilizzando le tabelle PL/SQL e FORALL per associare l'istruzione insert. Per i dettagli su questo vedere qui .

Fai attenzione anche a come costruisci le tabelle PL/SQL. Se possibile, preferisci invece eseguire tutte le tue trasformazioni direttamente in SQL usando "INSERT INTO t1 SELECT ..." poiché eseguire operazioni riga per riga in PL/SQL sarà comunque più lento di SQL.

In entrambi i casi, puoi anche utilizzare gli inserimenti del percorso diretto usando INSERT /*+APPEND*/ , che sostanzialmente ignora la cache del DB e alloca e scrive direttamente nuovi blocchi nei file di dati. Questo può anche ridurre la quantità di registrazione, a seconda di come la usi. Questo ha anche alcune implicazioni, quindi leggi manuale fine primo.

Infine, se stai troncando e ricostruendo la tabella, potrebbe essere utile prima eliminare (o contrassegnare come inutilizzabili) e successivamente ricostruire gli indici.