Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Aktualisieren Sie MySQL aus CSV mit JAVA

Es gibt eine viel schnellere und viel bessere Möglichkeit, Ihre Daten ohne eine einzige Zeile Java-Code zu importieren. Das ist mit LOAD DATA INFILE

Beachten Sie, dass LOAD DATA eine gewisse Vorverarbeitung für Ihre CSV durchführen kann. In manchen Situationen ist dies jedoch nicht ausreichend. Dann müssten Sie Hilfe von Java bekommen, aber Java sollte das Einfügen nicht machen.

Ihr Java-Code sollte die CSV vorverarbeiten und eine weitere CSV erzeugen, die an LOAD DATA übergeben werden kann. 70000 Datensätze sind ein Kinderspiel.

LOAD DATA unterstützt nicht das ON DUPLICATE KEY UPDATE Syntax. Aber es hat die REPLACE-Syntax (die etwas langsamer ist als die Aktualisierung doppelter Schlüssel, aber es wäre immer noch mindestens eine Größenordnung schneller als das, was Java oder jede andere Programmiersprache Ihnen bieten kann).

Ob es wirklich wichtig ist, ein Update durchzuführen. LOAD DATA in eine temporäre Tabelle und dann nach

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