sql >> Databasteknik >  >> RDS >> Oracle

Bearbetar Oracle sqlldr flera INFILE parallellt

Eftersom du använder "direkt belastning" kan du inte parallellisera den.

Direktbelastning "låser" bordets/partitionens högvattenmärke, och placerar data där... därför - en annan process kan inte låsa den parallellt. En parallell process skulle behöva vänta på att den aktuella belastningen ska avslutas.(Jag antar att du inte kontrollerar partitionerna du laddar in i.. om du kan styra det - du kan få en bättre kornfininställning för det.. men vanligtvis data som ska laddas är inte uppdelad i filer som det kommer att vara i partitioner, om du använder partitioner alls...)

Om du "ger upp det" kommer parallellen att hanteras "automagiskt" åt dig av de parametrar du anger.

MEN - jag skulle rekommendera dig att stanna vid "direktbelastningen" eftersom den förmodligen är mycket mycket snabbare än någon annan laddningsmetod som finns (även om låset är väldigt "stort" för det).




  1. mysql ändra innodb_large_prefix

  2. Bästa sättet att implementera klient <-> Server <-> Databasarkitektur i en Android-applikation?

  3. dbWriteTable(..., append =T) skrivs över i R

  4. Är det något fel med joins som inte använder JOIN-nyckelordet i SQL eller MySQL?