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

Aggiorna MySQL da CSV usando JAVA

C'è un modo molto più veloce e migliore per importare i tuoi dati senza una singola riga di codice Java. Questo è con LOAD DATA INFILE

nota che LOAD DATA può eseguire una certa quantità di preelaborazione per il tuo CSV. Tuttavia non è adeguato in alcune situazioni. Quindi dovresti ottenere aiuto da java ma java non dovrebbe eseguire l'inserimento.

Il tuo codice java dovrebbe preelaborare il CSV e produrre un altro CSV che può essere passato a LOAD DATA. 70000 record è un gioco da ragazzi.

LOAD DATA non supporta il ON DUPLICATE KEY UPDATE sintassi. Ma ha la sintassi REPLACE (che è leggermente più lenta dell'aggiornamento della chiave duplicata, ma sarebbe comunque almeno un ordine di grandezza più veloce di quello che Java o qualsiasi altro linguaggio di programmazione possono darti).

Se eseguire effettivamente un aggiornamento è una questione di importanza. CARICA DATI in una tabella temporanea e poi in

INSERT INTO mytable SELECT * FROM temp_table ON DUPLICATE KEY ....