Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Prática recomendada de bulk_create para registros massivos


Embora bulk_create seja útil para salvar um pequeno número de registros durante o processamento de um formulário HTML, não é ideal para salvar milhares de registros. Como você já descobriu, é lento porque precisa de muita memória e envia uma consulta muito grande para o banco de dados. Fortuatley CARREGAR DADOS NO ARQUIVO vem em socorro.

Podemos produzir um arquivo semelhante ao que é produzido usando o csv writer o exemplo a seguir é da documentação.
import csv
    with open('some.csv', 'wb') as f:
    writer = csv.writer(f)
    writer.writerows(someiterable)

Finalmente, como você já descobriu, a opção LOCAL para LOAD DATA .. às vezes pode ser usada por conveniência.

Ao usar esta opção, o arquivo não precisa ser transferido manualmente para o servidor. Você pode gerar o arquivo CSV no lado do cliente e a opção local fará com que o cliente mysql transfira automaticamente o arquivo para o servidor.