sql >> Database >  >> RDS >> Mysql

Update MySQL vanuit CSV met JAVA

Er is een veel snellere en veel betere manier om uw gegevens te importeren zonder een enkele regel Java-code. Dat is met LOAD DATA INFILE

merk op dat LOAD DATA enige voorbewerking voor uw CSV kan doen. In een bepaalde situatie is het echter niet voldoende. Dan zou je hulp van java moeten krijgen, maar java zou het invoegen niet moeten doen.

Uw Java-code moet de CSV voorverwerken en een andere CSV produceren die kan worden doorgegeven aan LOAD DATA. 70000 records is een makkie.

LOAD DATA ondersteunt niet de ON DUPLICATE KEY UPDATE syntaxis. Maar het heeft wel de REPLACE-syntaxis (die iets langzamer is dan het bijwerken van dubbele sleutels, maar het zou nog steeds op zijn minst een orde van grootte sneller zijn dan wat Java of een andere programmeertaal u kan bieden).

Als het doen van een daadwerkelijke update een kwestie van belang is. LAAD GEGEVENS in een tijdelijke tabel en vervolgens naar

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


  1. Snapshots van SQL Server-database -3

  2. Dubbel gecodeerde UTF8-tekens repareren (in een utf-8-tabel)

  3. VARCHAR vs TEXT-prestaties wanneer gegevens op rij passen

  4. Waar worden '$$' voor gebruikt in PL/pgSQL