Bei meinem C#-Projekt füge ich teilweise bis zu 30.000 Datensätze in eine MySQL-Tabelle ein und muss diese später auch wieder auslesen. Meine speziell geschriebene Datenbank-Klasse, die diese Aufgaben erledigen soll, benötigt für 2000 Datensätze fast 5 Minuten. Das kann’s nicht sein, dachte ich mir, und somit machte mich auf die Suche nach einer Lösung, um das Ganze zu beschleunigen.
Zahlreiche Tests später (einzelne / mehrere MySqlConnections / MySqlCommands etc.) war es zwar ein wenig schneller (durch die Optimierung meines eigenen Codes) aber der Flaschenhals war eindeutig die MySQL-Datenbank. Nach einer kurzen Suche bei Google, habe ich eine Diskussion im MySQL-Forum gefunden und damit auch die Lösung meines Problems: Meine Tabellen hatten das InnoDB-Format. Nachdem ich eine Testtabelle auf MyISAM umgestellt habe, wurde das Einfügen sofort bedeutend schneller (mindestens Faktor 20, eher mehr).
Da ich auf die “Vorteile” des InnoDB-Formats verzichten kann, stelle ich meine restlichen Tabellen nun auch auf MyISAM um…
DANKE!
Wahnsinn, ich habe ewig nach einer Lösung gesucht und dabei ist es so einfach!
DANKE DANKE DANKE