往MySQL中插入1000000条数据只花了6秒钟!
<>强关键点:强>
1。使用PreparedStatement对象
2。rewriteBatchedStatements=true开启批量插入,插入只执行一次,所有插入比较快。
包test0823.demo1; 进口java.sql。*;/* * * @author: Bei-Zhen * @date: 2020-08-24 0:43 */公开课JDBC2 {//静态int数=0; 公共静态void main (String [] args) { 长开始=System.currentTimeMillis (); 康涅狄格州(); 长债=System.currentTimeMillis (); 系统。println(“耗时:“+(结束-开始)/1000 +“秒”); } 公共静态孔隙康涅狄格州(){//1 .导入驱动jar包//2 .注册驱动(mysql5之后的驱动jar包可以省略注册驱动的步骤)//forname (“com.mysql.jdbc.Driver”);//3 .获取数据库连接对象 连接康涅狄格州=零; PreparedStatement pstmt=零; { 尝试{//昂蛂ewriteBatchedStatements=true”,一次插入多条数据,只插入一次 康涅狄格州=DriverManager.getConnection (" jdbc: mysql:///测试# 63;”+”,rewriteBatchedStatements=true”,“根”,“根”);//4 .定义sql语句 字符串sql="插入用户值(默认情况下,& # 63;& # 63;)”;//5 .获取执行sql的对象PreparedStatement pstmt=conn.prepareStatement (sql);//6 .不断产生sql for (int i=0;我& lt;1000000;我+ +){ pstmt.setString (1 (int) (math . random () * 1000000) + " "); pstmt.setString (2 (int) (math . random () * 1000000) + " "); pstmt.addBatch (); }//7 .往数据库插入一次数据 pstmt.executeBatch (); System.out.println(“添加1000000条信息成功!”); }捕捉(SQLException e) { e.printStackTrace (); 最后}{//8。释放资源//避免空指针异常 如果(pstmt !=null) { 尝试{ pstmt.close (); }捕捉(SQLException e) { e.printStackTrace (); } } 如果(康涅狄格州!=null) { 尝试{ conn.close (); }捕捉(SQLException e) { e.printStackTrace (); } } } } } } >之前
添加1000000条信息成功!
引用>
耗时:6秒
到此这篇关于教你如何6秒钟往MySQL插入100年万条数据的实现的文章就介绍到这了,更多相关MySQL插入100年万条数据内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
教你如何6秒钟往MySQL插入100年万条数据的实现