MySQL-Schleife fügt zig Millionen Daten ein

MySQL-Schleife fügt zig Millionen Daten ein

1. Erstellen Sie eine Testtabelle

Tabelle `mysql_genarate` erstellen (
 `id` int(11) NICHT NULL AUTO_INCREMENT,
 `uuid` varchar(50) DEFAULT NULL,
 PRIMÄRSCHLÜSSEL (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5999001 DEFAULT CHARSET=utf8;

2. Erstellen Sie eine gespeicherte Prozedur zum Einfügen einer Schleife

CREATE DEFINER=`root`@`localhost` VERFAHREN `test_two1`()
  BEGINNEN 
  DECLARE i INT DEFAULT 0;
  WÄHREND i < 3000 DO
    INSERT INTO mysql_genarate (uuid) VALUES(UUID());
    Setze i = i + 1;
  ENDE WÄHREND;
ENDE

Wenn Sie den Test call test_two1() aufrufen, dauert es mehrere Minuten, um 10.000 Daten zu testen. Wenn es sich um zig Millionen Daten handelt, ist diese Geschwindigkeit unerträglich.

3. Gespeicherte Prozeduren optimieren

Verwenden Sie die Batch-Einfügung einer SQL-Anweisung

CREATE DEFINER=`root`@`localhost` PROCEDURE `insertPro`( IN sum INT )
  BEGINNEN
  DECLARE-Anzahl INT DEFAULT 0;
  DECLARE i INT DEFAULT 0;
  SET @exesql = concat( "in mysql_genarate(uuid)-Werte einfügen" );
  SET @exedata = "";
  SET-Anzahl = 0;
  Setze i = 0;
  WHILE Anzahl < Summe DO
    SET @exedata = concat( @exedata, ",(UUID())" );
    SET Anzahl = Anzahl + 1;
    Setze i = i + 1;
    WENN i % 1000 = 0 DANN
      SET @exedata = SUBSTRING( @exedata, 2 );
      SET @exesql = concat( "Werte in mysql_genarate(uuid) einfügen", @exedata );
      Anweisung VORBEREITEN VON @exesql;
      Anweisung ausführen;
      DEALLOCATE PREPARE-Anweisung;
      SET @exedata = "";
    ENDE, WENN;
  ENDE WÄHREND;
  WENN Länge( @exedata ) > 0 DANN
    SET @exedata = SUBSTRING( @exedata, 2 );
    SET @exesql = concat( "Werte in mysql_genarate(uuid) einfügen", @exedata );
    Anweisung VORBEREITEN VON @exesql;
    Anweisung ausführen;
    DEALLOCATE PREPARE-Anweisung;
  ENDE, WENN;
ENDE

Der Aufruf von insertPro(10000) dauert einige Zehntelsekunden, was akzeptabel ist.

Oben sind die Details der MySQL-Schleifeneinfügung von zig Millionen Daten aufgeführt. Weitere Informationen zur MySQL-Schleifeneinfügung finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM!

Das könnte Sie auch interessieren:
  • Schritte zum Importieren von Millionen von Daten in MySQL mit .Net Core
  • .Net Core importiert zig Millionen Daten in MySQL-Datenbank
  • Detaillierte Erläuterung der MySQL-Datenbank mit zig Millionen Datenabfragen und -speicherungen
  • Optimierung der Abfragegeschwindigkeit von MySQL mit mehreren zehn Millionen Daten mithilfe von Indizes
  • So paginieren Sie schnell MySQL-Datenmengen im zweistelligen Millionenbereich
  • Optimierung der Leistung von Paging-Abfragen für MySQL mit mehreren zehn Millionen Daten
  • Wie lassen sich MySQL-Tabellen mit mehreren zehn Millionen Daten optimieren?
  • Austausch von Ideen zur Verarbeitung von Millionen von Daten in einer einzigen MySQL-Tabelle

<<:  Verwendung des Linux-Befehls bzip2

>>:  Vue verwendet Plug-Ins, um Bilder proportional zuzuschneiden

Artikel empfehlen

Detaillierte Erläuterung der MySQL-Mehrtabellenabfrage

Die Zeit vergeht immer überraschend schnell, ohne...

So erstellen Sie einen Pod in Kubernetes

Inhaltsverzeichnis Wie erstelle ich einen Pod? We...

So implementieren Sie die Kontrollkästchen- und Radioausrichtung

Nicht nur das Verhalten verschiedener Browser ist...

Detaillierte Analyse, wann Tomcat das Antwortdatagramm zurückschreibt

Es stellt sich die Frage Diese Frage kam auf, als...

Vue.js verarbeitet Icon-Symbole über Komponenten

Icon-Icon-Verarbeitungslösung Das Ziel dieses Dat...

Docker verwendet Dockerfile, um die Node.js-Anwendung zu starten

Schreiben einer Docker-Datei Am Beispiel des von ...

js zur Realisierung von Login- und Registrierungsfunktionen

In diesem Artikelbeispiel wird der spezifische Co...

js zur Implementierung einer Überprüfungscode-Interferenz (dynamisch)

In diesem Artikelbeispiel wird der spezifische Co...

MySQL: Datenintegrität

Die Datenintegrität wird in Entitätsintegrität, D...

Der Unterschied zwischen useEffect und useLayoutEffect in React

Inhaltsverzeichnis Voraussetzungen Effekt verwend...

Analyse des MySQL-Sperrmechanismus und der Verwendung

Dieser Artikel veranschaulicht anhand von Beispie...

Beispielcode zum Konfigurieren von Nginx zur Unterstützung von https

1. Einleitung Lassen Sie Ihre Website immer noch ...