教你如何6秒钟往MySQL插入100万条数据的实现

发布时间:2020-09-28 19:19:18 作者:Bei-Zhen
来源:脚本之家 阅读:239

一、思路

MySQL中插入1000000条数据只花了6秒钟!

关键点:

1.使用PreparedStatement对象

教你如何6秒钟往MySQL插入100万条数据的实现

教你如何6秒钟往MySQL插入100万条数据的实现

2.rewriteBatchedStatements=true 开启批量插入,插入只执行一次,所有插入比较快。

教你如何6秒钟往MySQL插入100万条数据的实现

二、 代码

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("耗时:" + (end - start)/1000 + "秒");
  }

  public static void conn(){
    //1.导入驱动jar包
    //2.注册驱动(mysql5之后的驱动jar包可以省略注册驱动的步骤)
    //Class.forName("com.mysql.jdbc.Driver");
    //3.获取数据库连接对象
    Connection conn = null;
    PreparedStatement pstmt = null;
    {
      try {
        //"&rewriteBatchedStatements=true",一次插入多条数据,只插入一次
        conn = DriverManager.getConnection("jdbc:mysql:///test?" + "&rewriteBatchedStatements=true","root","root");
        //4.定义sql语句
        String sql = "insert into user values(default,?,?)";
        //5.获取执行sql的对象PreparedStatement
        pstmt = conn.prepareStatement(sql);
        //6.不断产生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.往数据库插入一次数据
        pstmt.executeBatch();
        System.out.println("添加1000000条信息成功!");

      } catch (SQLException e) {
        e.printStackTrace();
      } finally {
        //8.释放资源
        //避免空指针异常
        if(pstmt != null) {
          try {
            pstmt.close();
          } catch (SQLException e) {
            e.printStackTrace();
          }
        }

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

  }

}

三、运行结果

添加1000000条信息成功!
耗时:6秒

教你如何6秒钟往MySQL插入100万条数据的实现

教你如何6秒钟往MySQL插入100万条数据的实现

到此这篇关于教你如何6秒钟往MySQL插入100万条数据的实现的文章就介绍到这了,更多相关MySQL插入100万条数据内容请搜索亿速云以前的文章或继续浏览下面的相关文章希望大家以后多多支持亿速云!

推荐阅读:
  1. mysql往表里插数据的方法
  2. 详解Pymysql如何实现往表中插入数据

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

mysql 插入 数据

上一篇:Android Studio 引用外部依赖时报错的解决方法

下一篇:CSS进阶之纯CSS幻灯片

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》