Ich verwende selten die CSV-Speicher-Engine. Ein Szenario, das ich jedoch als nützlich empfunden habe, ist der Massenimport von Daten.
- Erstelle eine Tabelle mit Spalten, die meiner CSV-Eingabedatei entsprechen.
- 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. 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.