sql >> Databasteknik >  >> RDS >> Mysql

Uppdatera MySQL från CSV med JAVA

Det finns ett mycket snabbare och mycket bättre sätt att importera din data utan en enda rad Java-kod. Det vill säga med LADDA DATAINFIL

Observera att LOAD DATA kan göra en viss förbearbetning av din CSV. Det är dock inte tillräckligt i vissa situationer. Då skulle du behöva ta hjälp av java men java borde inte göra insättningen.

Din java-kod bör förbehandla CSV-filen och producera en annan CSV som kan skickas till LOAD DATA. 70 000 poster är en bris.

LADDA DATA stöder inte ON DUPLICATE KEY UPDATE syntax. Men den har REPLACE-syntaxen (som är något långsammare än duplicerad nyckeluppdatering, men den skulle fortfarande vara åtminstone en storleksordning snabbare än vad java eller något annat programmeringsspråk kan ge dig).

Om det är viktigt att göra en uppdatering faktiskt. LADDA DATA till en tillfällig tabell och sedan till

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


  1. Enkel CRUD-drift med PDO-databasanslutning

  2. MySQL SELECT WHERE datetime matchar dag (och inte nödvändigtvis tid)

  3. Beräknar tidsskillnaden mellan 2 datum i minuter

  4. Överlappande bokningsfråga