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…



