Heim >Datenbank >MySQL-Tutorial >Wie kann ich 100.000 Zeilen effizient in eine MySQL-Datenbank einfügen?

Wie kann ich 100.000 Zeilen effizient in eine MySQL-Datenbank einfügen?

Susan Sarandon
Susan SarandonOriginal
2024-12-03 11:06:13972Durchsuche

How Can I Efficiently Insert 100,000 Rows into a MySQL Database?

Effizientes Einfügen von Zeilen in die MySQL-Datenbank

Das Einfügen großer Datenmengen in eine MySQL-Datenbank kann eine Herausforderung hinsichtlich der Effizienz darstellen. Diese Frage untersucht die Leistung von zwei Einfügemethoden und bietet eine Lösung, die die Einfügezeit deutlich verkürzt.

Der ursprüngliche Code verwendet eine einzelne INSERT-Anweisung für jede Zeile, was zu einer Zeit von 40 Sekunden für 100.000 Einfügungen führt. Um dies zu verbessern, erwägt die Frage das gleichzeitige Einfügen mehrerer Zeilen über eine DataTable/DataAdapter oder eine einzelne INSERT-Anweisung mit mehreren Werten.

Die in der Antwort vorgestellte Lösung verwendet eine einzelne INSERT-Anweisung mit 100.000 als Werten aufgeführten Zeilen. Diese Methode reduziert die Einfügezeit drastisch auf nur 3 Sekunden. Die generierte SQL-Anweisung lautet wie folgt:

INSERT INTO User (FirstName, LastName) VALUES ('test','test'),('test','test'),... ;

Um die Codeinjektion zu verhindern, wird die MySqlHelper.EscapeString-Methode verwendet, um die Werte vor dem Einfügen zu bereinigen. Durch die Vermeidung einzelner INSERT-Anweisungen und die Verwendung einer einzigen Anweisung mit mehreren Werten wird der Einfügevorgang erheblich beschleunigt.

Das obige ist der detaillierte Inhalt vonWie kann ich 100.000 Zeilen effizient in eine MySQL-Datenbank einfügen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn