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

Leistung bei mehrfachem Einfügen von MySQL

Versuchen Sie, Ihre Massenbeilage in eine Transaktion zu packen.

START TRANSACTION
INSERT INTO `table_name` VALUES (data1), (data2), ..., (data1000);
COMMIT

Das könnte die Leistung verbessern, aber ich bin mir nicht sicher, ob mySQL eine Masseneinfügung teilweise festschreiben kann (wenn dies nicht möglich ist, wird dies wahrscheinlich nicht viel helfen)

Denken Sie daran, dass Sie selbst bei 1,5 Sekunden für 30.000 Datensätze mit einer Größe von jeweils etwa 1 KB eine Commit-Geschwindigkeit von 20 MB/s erzielen und abhängig von Ihrer Hardwarekonfiguration tatsächlich Laufwerkseinschränkungen haben könnten.

Der Rat wäre dann, eine SSD zu untersuchen oder Ihr Raid-Setup zu ändern oder schnellere mechanische Laufwerke zu erwerben (es gibt viele Online-Artikel zu den Vor- und Nachteilen der Verwendung einer SQL-Datenbank, die auf einer SSD montiert ist).