Mysql
 sql >> Database >  >> RDS >> Mysql

Best practice di bulk_create per record di grandi dimensioni

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.