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

Importazione di tabelle di grandi dimensioni MySQL

Parte del problema di avere un'esportazione così grande è (presumibilmente) dovuto ai licenziamenti in essa contenuti. Ci sono probabilmente migliaia di comandi "INSERT" che, quando vengono caricati tutti in una volta, occupano un'enorme quantità di memoria.

Se hai esattamente gli stessi dati di un CSV, quello che farei è creare un piccolo script PHP per passare riga per riga attraverso il file CSV e creare una query SQL INSERT in modo dinamico e quindi eseguirla. Questo dovrebbe mantenere il footprint di memoria molto basso poiché potresti continuare a sostituire i valori delle tue variabili temporanee (corrispondenti ai campi) dopo ogni inserimento.

Ho collegato alla funzione che proverei a utilizzare. Si chiama fgetcsv. Quel link contiene anche alcuni script di esempio che ritengo possano esserti utili e che sono stati creati da altri utenti.

Buona fortuna!

funzione PHP fgetcsv da utilizzare per la lettura riga per riga