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

oracle sql plus spool

Stai concatenando e delimitando le colonne o esporti a larghezza fissa?

Consulta questa documentazione su Ottimizzazione degli script SQL*Plus . Specifico per il tuo script, ecco alcuni modi possibili per velocizzarlo:

  1. Assicurati che LINESIZE sia il più piccolo possibile. Aggiungi le lunghezze massime delle colonne (più i delimitatori se non a larghezza fissa). Ciò può avere un effetto drammatico sulle prestazioni, poiché SQL*Plus alloca tale quantità di memoria per ogni riga esportata. 410 non è così grande, ma se puoi diminuirlo sarebbe d'aiuto. Questo ha fatto una grande differenza, secondo la mia esperienza.
  2. Non attivare TRMSPOOL. Anche questo può avere un grande impatto. Ogni riga verrà quindi riempita in LINESIZE, ma con una dimensione della linea ottimale e, a seconda di come stai utilizzando il file, potrebbe essere accettabile. Tuttavia, se desideri eliminare completamente gli spazi finali, spesso può essere più veloce ritagliarli utilizzando altri metodi dopo l'esportazione.
  3. Gioca con ARRAYSIZE. Può aiutare (un po'). Imposta la dimensione di recupero per SQL*Plus. Il valore predefinito è 15 righe. Ad esempio, raggiungere 100 può essere d'aiuto, ma andare troppo in alto potrebbe ridurre la velocità.

Spero che questo aiuti!