Es gibt eine Reihe von Möglichkeiten, Massenbeilagen zu optimieren. Einige sind:
-
LOAD DATA INFILE
. Es gibt eine Wrapper-API für . NET . Dies ist der schnellste Weg, hat aber einige Einschränkungen und semantische Unterschiede zu einfachen Einfügungen. -
Mehrzeiliges
INSERT
Anweisungen:INSERT INTO temperature (temperature) VALUES (1.0), (2.0), (3.0), ...
Sie sollten nicht 20.000.000 Zeilen auf einmal einfügen, aber Sie können 1.000-10.000 für eine sehr große Beschleunigung ausprobieren. Dies ist eine einfache und sehr unproblematische Möglichkeit, die Geschwindigkeit zu erhöhen. Ein Faktor von 10 und manchmal weit mehr ist oft möglich.
-
Sperren der Tabelle (
LOCK TABLES
). -
Indizes vorübergehend deaktivieren.
-
Abstimmen der MySQL-Optionen.
-
INSERT DELAYED
(hier höchstwahrscheinlich nicht so nützlich).
Die Dokumentation gibt Ihnen ausführlichere Details auf die Optionen. Einige Optionen hängen vom Tabellentyp ab (InnoDB vs. MyISAM ).
Ein allgemeiner Vorschlag:Geben Sie immer die Spalten an, die Sie vor VALUES
einfügen . Dies sorgt für besser wartbaren Code.