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

Bedste praksis for bulk_create til massive registreringer

Selvom bulk_create er nyttigt til at gemme et lille antal poster, mens du behandler en HTML-formular, er det ikke ideelt egnet til at gemme tusindvis af poster. Som du allerede har fundet ud af, er den langsom, fordi den kræver meget hukommelse og sender en meget stor forespørgsel til databasen. Fortunatley INDLÆS DATA I FIL kommer til undsætning.

Vi kan producere en fil, der ligner den, der produceres ved at bruge csv-skriver følgende eksempel er fra dokumentationen.

import csv
    with open('some.csv', 'wb') as f:
    writer = csv.writer(f)
    writer.writerows(someiterable)

Endelig, som du allerede har fundet ud af, kan den LOKALE mulighed for at LOAD DATA .. nogle gange bruges for nemheds skyld.

Når du bruger denne mulighed, behøver filen ikke manuelt at blive overført til serveren. Du kan generere CSV-filen på klientsiden, og den lokale indstilling vil få mysql-klienten til automatisk at overføre filen til serveren.




  1. Forskellen mellem primær nøgle og unik nøgle

  2. Hvad er den tilsvarende PostgreSQL-syntaks til Oracles CONNECT BY ... START WITH?

  3. Hent database eller enhver anden fil fra det interne lager ved hjælp af run-as

  4. Gennemtving en begrænsning med fremmednøgle til kolonner i samme tabel