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 Die Generierung von 1 Million Daten dauerte 58,62 Sekunden, also fast 1 Minute. 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! 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:
|
<<: Der gesamte Prozess der Aktualisierung eines Angular-Einzelprojekts auf mehrere Projekte
>>: Webdesign-Referenz Firefox-Standardstil
Entwicklungshintergrund: Ich arbeite derzeit an e...
Boolescher MySQL-Wert, speichert „false“ oder „tr...
Inhaltsverzeichnis Download des Installationspake...
Schritt 1: Ubuntu-Quelle hinzufügen Wechseln Sie ...
Inhaltsverzeichnis 1. Einleitung 2. Konfiguration...
Diese Sammlung zeigt eine Reihe herausragender und...
In der Datenbank führen sowohl die Schlüsselwörte...
Ich habe im Internet unzählige my.cnf-Konfigurati...
Theoretisch entspricht der von MySQL verwendete S...
Ich habe es Ihnen bereits vorgestellt: Docker (Be...
Inhaltsverzeichnis 1. Der Unterschied zwischen Fu...
Bei der Implementierung dieser Funktion konnte di...
So überprüfen Sie, wo die Metadatensperre in MySQ...
1. Führende Fuzzy-Abfragen können keinen Index ve...
Effektbild: Vorwort: Kürzlich arbeitete ich an ei...