sql >> Database >  >> RDS >> Oracle

oracle sql plus spoel

Voegt u uw kolommen samen en begrenst u ze of exporteert u een vaste breedte?

Zie deze documentatie over SQL*Plus Script Tuning . Specifiek voor uw script, hier zijn een paar mogelijke manieren om het te versnellen:

  1. Zorg ervoor dat LINESIZE zo klein mogelijk is. Voeg uw maximale kolomlengtes toe (plus scheidingstekens indien niet een vaste breedte). Dit kan een dramatisch effect hebben op de prestaties, aangezien SQL*Plus die hoeveelheid geheugen toewijst voor elke geëxporteerde regel. 410 is niet zo groot, maar als je het kunt verlagen, zou dat helpen. Dit heeft naar mijn ervaring een groot verschil gemaakt.
  2. Schakel TRIMSPOOL niet in. Dit kan ook een grote impact hebben. Elke regel wordt dan opgevuld tot LINESIZE, maar met een optimale lijngrootte, en afhankelijk van hoe u het bestand gebruikt, kan dat acceptabel zijn. Als u achterliggende spaties echter volledig wilt verwijderen, kan het vaak sneller zijn om ze na het exporteren met andere methoden in te korten.
  3. Speel wat met ARRAYSIZE. Het kan (een beetje) helpen. Het stelt de ophaalgrootte in voor SQL*Plus. Standaard is 15 rijen. Stuiteren naar bijvoorbeeld 100 kan helpen, maar te groot gaan kan de snelheid verminderen.

Ik hoop dat dit helpt!



  1. Postgresql - hoe u items in een tabel kunt krijgen die niet overeenkomen met een andere tabel

  2. Werken extensies in de modus voor één gebruiker in Postgres?

  3. verschil tussen tabtabel en all_tables in oracle

  4. Een ORA - 00907-fout krijgen op het volgende bij ON UPDATE