Lernen Sie, wie Sie in 6 Sekunden 1 Million Datensätze in MySQL einfügen

Lernen Sie, wie Sie in 6 Sekunden 1 Million Datensätze in MySQL einfügen

1. Idee

Es dauerte nur 6 Sekunden, um 1.000.000 Datensätze in MySQL einzufügen!

Wichtige Punkte:

1. Verwenden des PreparedStatement-Objekts


2. rewriteBatchedStatements=true aktiviert Batch-Einfügungen, Einfügungen werden nur einmal ausgeführt und alle Einfügungen sind schneller.

2. Code

Paket test0823.demo1;

importiere java.sql.*;

/**
 * @Autor: Bei-Zhen
 * @Datum: 24.08.2020 0:43
 */
öffentliche Klasse JDBC2 {

  //statisch int count = 0;

  öffentliche statische void main(String[] args) {

    langer Start = System.currentTimeMillis();
    Verbindung();
    langes Ende = System.currentTimeMillis();
    System.out.println("Benötigte Zeit: " + (Ende - Start)/1000 + "Sekunden");
  }

  öffentliche statische Leere conn(){
    //1. Importieren Sie das JAR-Treiberpaket //2. Registrieren Sie den Treiber (das JAR-Treiberpaket nach mysql5 kann den Treiberregistrierungsschritt weglassen)
    //Klasse.fürName("com.mysql.jdbc.Driver");
    // 3. Holen Sie sich das Datenbankverbindungsobjekt Connection conn = null;
    Vorbereitete Anweisung pstmt = null;
    {
      versuchen {
        //"&rewriteBatchedStatements=true", mehrere Daten gleichzeitig einfügen, nur einmal einfügenconn = DriverManager.getConnection("jdbc:mysql:///test?" + "&rewriteBatchedStatements=true","root","root");
        //4. SQL-Anweisung definieren String sql = "insert into user values(default,?,?)";
        //5. Holen Sie sich das PreparedStatement-Objekt, das SQL ausführt
        pstmt = conn.prepareStatement(sql);
        //6. Kontinuierlich SQL generieren
        für (int i = 0; i < 1000000; i++) {
          pstmt.setString(1,(int)(Math.random()*1000000)+"");
          pstmt.setString(2,(int)(Math.random()*1000000)+"");
          pstmt.addBatch();
        }
        //7. Einmal Daten in die Datenbank einfügen pstmt.executeBatch();
        System.out.println("1.000.000 Informationen wurden erfolgreich hinzugefügt!");

      } Fang (SQLException e) {
        e.printStackTrace();
      Endlich
        //8. Ressourcen freigeben //Nullzeigerausnahme vermeiden if (pstmt != null) {
          versuchen {
            pstmt.schließen();
          } Fang (SQLException e) {
            e.printStackTrace();
          }
        }

        wenn(conn != null) {
          versuchen {
            Verbindung schließen();
          } Fang (SQLException e) {
            e.printStackTrace();
          }
        }
      }
    }

  }

}

3. Ergebnisse der Operation

1.000.000 Informationen wurden erfolgreich hinzugefügt!
Dauer: 6 Sekunden


Dies ist das Ende dieses Artikels zum Einfügen von 1 Million Datensätzen in MySQL in 6 Sekunden. Weitere Informationen zum Einfügen von 1 Million Datensätzen 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:
  • MySql schnelles Einfügen von zig Millionen großen Datenbeispielen
  • So fügen Sie in 88 Sekunden 10 Millionen Datensätze in eine MySQL-Datenbanktabelle ein
  • Beispielcode zum Einfügen von Millionen von Daten in MySQL mithilfe von JDBC in Java
  • So fügen Sie schnell Millionen von Testdaten in MySQL ein

<<:  Linux verwendet lsof/extundelete-Tools, um versehentlich gelöschte Dateien oder Verzeichnisse wiederherzustellen

>>:  Vergleich der Vorteile von vue3 und vue2

Artikel empfehlen

Implementierungsprinzip und Prozessanalyse der TCP-Leistungsoptimierung

Drei-Wege-Handshake-Phase Anzahl der Wiederholung...

Nginx-Server fügt benutzerdefinierte Systemd-Dienstprozessanalyse hinzu

1. Nehmen Sie nginx als Beispiel Nginx mit dem Be...

So zeigen Sie die IP-Adresse von Linux in einer virtuellen VMware-Maschine an

1. Doppelklicken Sie zunächst auf das VMware-Symb...

Lösen Sie das Problem beim Ausführen von Jupyter Notebook auf dem Server

Inhaltsverzeichnis Auf dem Server läuft Jupyter N...

Docker-Image-Analysetool - Analyse des Tauchprinzips

Heute empfehle ich ein solches Open-Source-Tool z...

Der Interviewer fragte, wie man in CSS ein festes Seitenverhältnis erreicht

Möglicherweise hatten Sie für diese Frage bisher ...

Warum TypeScripts Enum problematisch ist

Inhaltsverzeichnis Was ist passiert? Verwendung S...

Erzielen Sie mit reinem CSS3 in wenigen einfachen Schritten einen 3D-Flip-Effekt

Als Pflichtkurs für Frontend-Entwickler kann CSS3...

JS ES: Neue Funktion zur variablen Entkopplungszuweisung

Inhaltsverzeichnis 1. Entkoppelte Zuweisung von A...

Detailliertes Tutorial zur Installation und Konfiguration von Nginx unter Centos7

Hinweis: Der grundlegende Verzeichnispfad für die...

Beim Hochladen von Bildern mit Axios in Vue sind Probleme aufgetreten

Inhaltsverzeichnis Was ist FormData? Eine praktis...

Wie stellt MySQL die Datenintegrität sicher?

Die Bedeutung von Datenkonsistenz und -integrität...

Mehrere gängige Methoden für CSS-Layouts mit gleicher Höhe

Gleichhohes Layout Bezieht sich auf das Layout vo...

Schritte zum Übertragen von Dateien und Ordnern zwischen zwei Linux-Servern

Heute habe ich mich mit der Migration eines Proje...