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

So löschen Sie zusätzliche Kernel in Ubuntu

Schritt 1: Den aktuellen Kernel anzeigen rew $ un...

Installieren Sie MySQL (einschließlich utf8) mit Docker unter Windows/Mac

Inhaltsverzeichnis 1. Docker-Installation auf dem...

Detaillierte Schritte zur Dateisteuerungsverwaltung für Linux-Konten

Im Linux-System gibt es neben den verschiedenen, ...

Detaillierte Erklärung der regulären Ausdrücke von Nginx

Nginx (Engine x) ist ein leistungsstarker HTTP- u...

Apache Calcite-Code zur Dialektkonvertierung

Definition Calcite kann SQL vereinheitlichen, ind...

Handtrack.js-Bibliothek zur Echtzeitüberwachung von Handbewegungen (empfohlen)

【Einführung】: Handtrack.js ist eine Prototypbibli...

Detaillierte Erklärung der MySQL-Syntax, Sonderzeichen und regulären Ausdrücke

Häufig verwendete Anzeigebefehle für MySQL 1. Zei...

Implementierung des Whack-a-Mole-Spiels in JavaScript

In diesem Artikel finden Sie den spezifischen Cod...

Designreferenz Schönes und originelles Blog-Design

Alle unten aufgeführten Blogs sind originell und ...

So erfassen Sie Ausnahmen in React

Inhaltsverzeichnis Vorwort Fehlergrenze Jenseits ...

MySQL-Transaktionskontrollfluss und ACID-Eigenschaften

Inhaltsverzeichnis 1. ACID-Eigenschaften Syntax d...

Bei der anonymen Mysql-Anmeldung kann keine Datenbankproblemlösung erstellt werden

Häufig gestellte Fragen Der Zugriff für den Benut...

Vorgang zur Zeitzonenanpassung im Docker-Container

Wie kann ich überprüfen, ob die Zeitzone des Dock...