Teach you how to insert 1 million records into MySQL in 6 seconds

Teach you how to insert 1 million records into MySQL in 6 seconds

1. Idea

It only took 6 seconds to insert 1,000,000 records into MySQL!

Key points:

1. Using PreparedStatement Object


2. rewriteBatchedStatements=true turns on batch inserts, inserts are executed only once, and all inserts are faster.

2. Code

package test0823.demo1;

import java.sql.*;

/**
 * @author : Bei-Zhen
 * @date : 2020-08-24 0:43
 */
public class JDBC2 {

  //static int count = 0;

  public static void main(String[] args) {

    long start = System.currentTimeMillis();
    conn();
    long end = System.currentTimeMillis();
    System.out.println("Time taken: " + (end - start)/1000 + "seconds");
  }

  public static void conn(){
    //1. Import the driver jar package //2. Register the driver (the driver jar package after mysql5 can omit the driver registration step)
    //Class.forName("com.mysql.jdbc.Driver");
    //3. Get the database connection object Connection conn = null;
    PreparedStatement pstmt = null;
    {
      try {
        //"&rewriteBatchedStatements=true", insert multiple data at a time, insert only onceconn = DriverManager.getConnection("jdbc:mysql:///test?" + "&rewriteBatchedStatements=true","root","root");
        //4. Define sql statement String sql = "insert into user values(default,?,?)";
        //5. Get the PreparedStatement object that executes SQL
        pstmt = conn.prepareStatement(sql);
        //6. Continuously generate sql
        for (int i = 0; i < 1000000; i++) {
          pstmt.setString(1,(int)(Math.random()*1000000)+"");
          pstmt.setString(2,(int)(Math.random()*1000000)+"");
          pstmt.addBatch();
        }
        //7. Insert data into the database once pstmt.executeBatch();
        System.out.println("1,000,000 pieces of information were added successfully!");

      } catch (SQLException e) {
        e.printStackTrace();
      finally
        //8. Release resources //Avoid null pointer exception if (pstmt != null) {
          try {
            pstmt.close();
          } catch (SQLException e) {
            e.printStackTrace();
          }
        }

        if(conn != null) {
          try {
            conn.close();
          } catch (SQLException e) {
            e.printStackTrace();
          }
        }
      }
    }

  }

}

3. Operation Results

1,000,000 pieces of information were added successfully!
Time taken: 6 seconds


This is the end of this article on how to insert 1 million records into MySQL in 6 seconds. For more information about how to insert 1 million records into MySQL, please search for previous articles on 123WORDPRESS.COM or continue to browse the following related articles. I hope you will support 123WORDPRESS.COM in the future!

You may also be interested in:
  • MySql quick insert tens of millions of large data examples
  • How to insert 10 million records into a MySQL database table in 88 seconds
  • Example code for inserting millions of data into MySQL using JDBC in Java
  • How to quickly insert millions of test data in MySQL

<<:  Linux uses lsof/extundelete tools to restore accidentally deleted files or directories

>>:  Comparison of the advantages of vue3 and vue2

Recommend

How to manually deploy war packages through tomcat9 on windows and linux

The results are different in Windows and Linux en...

A brief discussion on what situations in MySQL will cause index failure

Here are some tips from training institutions and...

Implementation of CSS dynamic height transition animation effect

This question originated from a message on Nugget...

Detailed explanation of several ways to create objects and object methods in js

This article is the second article about objects ...

Ubuntu16.04 builds php5.6 web server environment

Ubuntu 16.04 installs the PHP7.0 environment by d...

Detailed explanation of the use of bus in Vue

Vue bus mechanism (bus) In addition to using vuex...

WeChat applet custom tabbar component

This article shares the specific code of the WeCh...

Analysis of Context application scenarios in React

Context definition and purpose Context provides a...

Solve the problem of docker pull being reset

This article introduces how to solve the problem ...

A brief discussion on Vue3 father-son value transfer

Table of contents From father to son: 1. In the s...

Summary of uncommon js operation operators

Table of contents 2. Comma operator 3. JavaScript...

Solution to MySQL being unable to start due to excessive memory configuration

Problem Description MySQL reports an error when s...

Vue implements the product tab of the product details page function

This article example shares the specific code of ...