sql >> Database >  >> RDS >> Mysql

Best practice van bulk_create voor enorme records

Hoewel bulk_create handig is voor het opslaan van een klein aantal records tijdens het verwerken van een HTML-formulier, is het niet ideaal voor het opslaan van duizenden records. Zoals je al hebt ontdekt, is het traag omdat het veel geheugen nodig heeft en een zeer grote vraag naar de database stuurt. Fortunatley LAAD GEGEVENS IN BESTAND komt te hulp.

We kunnen een bestand produceren dat lijkt op wat wordt geproduceerd met behulp van csv-schrijver het volgende voorbeeld komt uit de documentatie.

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

Tot slot, zoals je al hebt ontdekt, kan de LOKALE optie om GEGEVENS LADEN .. soms voor het gemak te worden gebruikt.

Bij gebruik van deze optie hoeft het bestand niet handmatig naar de server te worden overgebracht. U kunt het CSV-bestand aan de clientzijde genereren en de lokale optie zorgt ervoor dat de mysql-client het bestand automatisch naar de server verzendt.




  1. Spring Data Join met specificaties

  2. Simuleer ORDER BY in SQLite UPDATE om de uniciteitsbeperking aan te pakken

  3. Ik wil een tabel uit de ene database kopiëren en in een andere databasetabel invoegen

  4. Hoe de LPAD()-functie werkt in MySQL