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

When the interviewer asked the difference between char and varchar in mysql

Table of contents Difference between char and var...

Solve the problem of setting Chinese language pack for Docker container

If you use docker search centos in Docker Use doc...

Using CSS3 to create header animation effects

Netease Kanyouxi official website (http://kanyoux...

Detailed steps to use Redis in Docker

1. Introduction This article will show you how to...

Vue large screen data display example

In order to efficiently meet requirements and avo...

IIS and APACHE implement HTTP redirection to HTTPS

IIS7 Download the HTTP Rewrite module from Micros...

Nginx improves access speed based on gzip compression

1. Why does nginx use gzip? 1. The role of compre...

Steps to deploy ingress-nginx on k8s

Table of contents Preface 1. Deployment and Confi...

The difference between MySQL execute, executeUpdate and executeQuery

The differences among execute, executeUpdate, and...

Detailed explanation of Svn one-click installation shell script under linxu

#!/bin/bash #Download SVN yum -y install subversi...

TABLE tags (TAGS) detailed introduction

Basic syntax of the table <table>...</tab...

Vue button permission control introduction

Table of contents 1. Steps 1. Define buttom permi...