Sebbene bulk_create sia utile per salvare un numero limitato di record durante l'elaborazione di un modulo HTML, non è l'ideale per salvare migliaia di record. Come hai già scoperto, è lento perché richiede molta memoria e invia una query molto grande al database. Fortunatley CARICA DATI NEL FILE viene in soccorso.
Possiamo produrre un file simile a quello che viene prodotto utilizzando csv writer l'esempio seguente è tratto dalla documentazione.
import csv
with open('some.csv', 'wb') as f:
writer = csv.writer(f)
writer.writerows(someiterable)
Infine, come hai già scoperto, l'opzione LOCAL per CARICARE DATI .. a volte può essere utilizzata per comodità.
Quando si utilizza questa opzione, non è necessario trasferire manualmente il file al server. È possibile generare il file CSV sul lato client e l'opzione locale farà sì che il client mysql trasferisca automaticamente il file al server.