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

Wann sollte die CSV-Speicher-Engine für MySQL verwendet werden?

Ich verwende selten die CSV-Speicher-Engine. Ein Szenario, das ich jedoch als nützlich empfunden habe, ist der Massenimport von Daten.

  1. Erstelle eine Tabelle mit Spalten, die meiner CSV-Eingabedatei entsprechen.
  2. Außerhalb von mysql, nur mit einem Shell-Prompt, mv die CSV-Datei in das MySQL-Datenwörterbuch, wobei die .csv-Datei überschrieben wird, die zu meiner gerade erstellten Tabelle gehört.
  3. ALTER TABLE mytable ENGINE=InnoDB

Voilà! Import einer riesigen CSV-Datendatei in einem Schritt mit DDL anstelle von INSERT oder LOAD DATA.

Zugegeben, es ist weniger flexibel als INSERT oder LOAD DATA, da Sie keine NULL-Werte oder benutzerdefinierten Überschreibungen einzelner Spalten oder irgendwelche "Ersetzungs"- oder "Ignorierungs"-Funktionen zum Umgang mit doppelten Werten vornehmen können. Aber wenn Sie eine Eingabedatei haben, die genau das ist, was Sie importieren möchten, könnte es den Import sehr einfach machen.