So fügen Sie schnell 10 Millionen Datensätze in MySQL ein

So fügen Sie schnell 10 Millionen Datensätze in MySQL ein

Ich habe gehört, dass es eine Interviewfrage gibt: Wie fügt man schnell 10 Millionen Datensätze in MySQL ein?

Ich habe es privat ausprobiert und festgestellt, dass es 0,9 Sekunden dauerte, um 10.000 Daten einzufügen, 4,7 Sekunden, um 100.000 Daten einzufügen, und etwa 58 Sekunden, um 1.000.000 Daten einzufügen. Für 1.000.000 Daten brauchte mein Laptop 5 Minuten zum Starten und stoppte von selbst. Ich war so aufgeregt, dass ich darüber nachdachte. Ich habe den folgenden Code verwendet:

-- Geben Sie den Datenbanknutzungstest ein.
--Alle Tabellen anzeigen Tabellen anzeigen;
- Erstellen Sie die Majors-Tabelle. create table majors(id int, major varchar(255));
-- Definieren Sie das Endzeichen $
Trennzeichen "$";
-- Erstellen Sie eine gespeicherte Prozedur und definieren Sie eine gespeicherte Methode „create procedure batchInsert(in args int)“.
beginnen
deklariere i als int default 1;
-- Transaktionen aktivieren (wichtig! Andernfalls dauert die Berechnung von 1 Million Daten mehrere Tage)
Transaktion starten;
während i <= args
in Majors einfügen (ID, Major) Wert (i, concat("Software Engineering-",i));
setze i = i + 1;
Ende während;
begehen;
Ende
$

-- Rufen Sie die Funktion zum Generieren von Daten auf -- Generieren Sie zuerst 100.000 Datensätze, geben Sie $ ein und drücken Sie die Eingabetaste, um den Aufruf batchInsert(100000) auszuführen.
$

Es dauerte 4,44 Sekunden, um 100.000 Daten zu generieren

Bildbeschreibung hier einfügen

Die Generierung von 1 Million Daten dauerte 58,62 Sekunden, also fast 1 Minute.

Bildbeschreibung hier einfügen

10 Millionen Daten generieren. Die Großen vor dem Bildschirm können es ja mal versuchen. Haha, ich habe den Vorgang mit Strg+C abgebrochen!

Bildbeschreibung hier einfügen

Zusammenfassen

Damit ist dieser Artikel zum schnellen Batch-Einfügen von 10 Millionen Datensätzen in MySQL abgeschlossen. Weitere Informationen zum Batch-Einfügen von Daten in MySQL finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Beispiele für 4 Methoden zum Einfügen großer Datenmengen in MySQL
  • MySQL-Batch-Einfügungsdaten-Implementierungscode
  • Tutorial zur Implementierung von Batch-Einfügungen in MySQL zur Leistungsoptimierung
  • So vermeiden Sie MySQL-Batch-Einfügungen mit eindeutigen Indizes
  • MySQL-Batch-Einfügen von Datenskript
  • Detaillierte Erläuterung der Leistungsoptimierung für MySQL-Batch-SQL-Einfügungen
  • Lösungen für MySQL-Batch-Insert- und eindeutige Indexprobleme
  • Detaillierte Erläuterung mehrerer Beispiele für Insert- und Batch-Anweisungen in MySQL

<<:  Der gesamte Prozess der Aktualisierung eines Angular-Einzelprojekts auf mehrere Projekte

>>:  Webdesign-Referenz Firefox-Standardstil

Artikel empfehlen

So speichern Sie „false“ oder „true“ in MySQL

Boolescher MySQL-Wert, speichert „false“ oder „tr...

Detaillierte Darstellung des MySQL 5.7.33-Installationsprozesses

Inhaltsverzeichnis Download des Installationspake...

Schritte zur VMware-Konfiguration des VMnet8-Netzwerks

Inhaltsverzeichnis 1. Einleitung 2. Konfiguration...

Inspirierende Designbeispiele für glänzendes und schimmerndes Website-Design

Diese Sammlung zeigt eine Reihe herausragender und...

Kurze Analyse von MySQL Union und Union All

In der Datenbank führen sowohl die Schlüsselwörte...

my.cnf-Parameterkonfiguration zur Optimierung der InnoDB-Engine-Leistung

Ich habe im Internet unzählige my.cnf-Konfigurati...

Zusammenfassung der speicherbezogenen Parameter von MySQL 8.0

Theoretisch entspricht der von MySQL verwendete S...

JavaScript-Grundlagenreihe: Funktionen und Methoden

Inhaltsverzeichnis 1. Der Unterschied zwischen Fu...

Vue.js implementiert Erläuterungen zum Tab-Umschalten und Farbwechseln

Bei der Implementierung dieser Funktion konnte di...

So überprüfen Sie, wo die Metadatensperre in MySQL blockiert ist

So überprüfen Sie, wo die Metadatensperre in MySQ...

Detaillierte Analyse mehrerer Situationen, in denen MySQL-Indizes fehlschlagen

1. Führende Fuzzy-Abfragen können keinen Index ve...

Vue verwendet Canvas-Handschrifteingabe, um Chinesisch zu erkennen

Effektbild: Vorwort: Kürzlich arbeitete ich an ei...