侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

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

2024-05-01 星期三 / 0 评论 / 0 点赞 / 31 阅读 / 3244 字

一、思路往MySQL中插入1000000条数据只花了6秒钟!关键点:1.使用PreparedStatement对象2.rewriteBatchedStatements=true 开启批量插入,插入只执行一次,所有插入比较

一、思路

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

关键点:

1.使用PreparedStatement对象


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

二、 代码

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万条数据的实现的文章就介绍到这了,更多相关MySQL插入100万条数据内容请搜索编程圈以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程圈!

广告 广告

评论区