一、思路

往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秒

  • 1

  • 2

你学会了吗,此文转载

著作权归作者所有,如有侵权联系小编删除

原文地址:https://blog.csdn.net/qq_33591873

源码获取点击这里

插入2万调数据耗时_教你如何6秒钟往MySQL插入100万条数据!然后删库跑路!相关推荐

  1. binlog日志_【删库跑路】使用Binlog日志恢复误删的MySQL数据

    前言 "删库跑路"是程序员经常谈起的话题,今天,我就要教大家如何删!库!跑!路! 开个玩笑,今天文章的主题是如何使用Mysql内置的Binlog日志对误删的数据进行恢复,读完本文, ...

  2. 几万年前,有一只猴子大闹地府后删库跑路...

    话说几万年前,有一只猴子在大闹地府删库跑路,导致地府几百年没缓过劲儿来...... 在知乎上冒出这么一个问题:"孙悟空无姓无名的时候,阎王生死簿是怎么写的呢?" 生死薄技术上如何实 ...

  3. 几万年前,孙悟空的一次删库跑路...

    " 话说几万年前,有一只猴子在大闹地府删库跑路,导致地府几百年没缓过劲儿来...... 在知乎上冒出这么一个问题:"孙悟空无姓无名的时候,阎王生死簿是怎么写的呢?" 生死 ...

  4. 几万年前,孙悟空大闹地府后删库跑路了!那阎王生死簿又该怎么写呢?

    公众号关注 「运维之美」 设为「星标」,每天带你玩转 Linux ! " 话说几万年前,有一只猴子在大闹地府删库跑路,导致地府几百年没缓过劲儿来...... 在知乎上冒出这么一个问题:&qu ...

  5. 几万年前,有一只猴子大闹地府后删库跑路

    Java面试笔试面经.Java技术每天学习一点 Java面试 关注不迷路 作者:51CTO技术栈整编 素材来自知乎问题<孙悟空无姓无名的时候,阎王生死簿是怎么写的呢?>及微信公众号架构真经 ...

  6. 【删库跑路】使用Binlog日志恢复误删的MySQL数据

    前言 "删库跑路"是程序员经常谈起的话题,今天,我就要教大家如何删!库!跑!路! 开个玩笑,今天文章的主题是如何使用Mysql内置的Binlog日志对误删的数据进行恢复,读完本文, ...

  7. 京东到家程序员删库跑路 ! 讲一讲 MySQL 数据备份杀手锏 binlog

    我们都知道,数据非常重要 网上也经常看到一些段子,某公司程序员对工作不满,删库跑路,老板损失惨重,欲哭无泪.这不最近又爆出一例,京东到家程序员离职当天删库跑路! 那么有没有什么解决方案? 即使数据库真 ...

  8. 从“删库跑路”聊聊开启BinLog防止误删表数据、结构及数据库

    最近网上很多同学都在疯传疫情删库=跑路,工作中误删数据或者数据库我们一定需要跑路吗?我看未必在 MySQL数据库中我们知道 binlog 日志记录了我们对数据库的所有操作接下来就来开启程序员自救之路 ...

  9. 微盟遭员工“删库跑路”:SaaS服务暂停,或涉及300万商户

     关注ITValue,看企业级最新鲜.最具价值报道! 日前,微盟遭遇内部员工"删库跑路"事件,服务出现故障,大面积服务集群无相应. 微盟方面今日发布<自愿公告SaaS业务生产 ...

最新文章

  1. 用英语优雅地表达愤怒
  2. 常见算法的python实现(Github标星75.5k+)
  3. HTML5按钮的点击态问题
  4. java把一段英文拆成单词_java编程题,输入一段英文文章,单词之间都已经用空格分隔,本人想以每5个单词为一行输出,怎么写?请指教...
  5. 漫谈 | “黎曼猜想”和区块链加密算法到底有什么关系?
  6. 为什么大厂都在用 GO 语言?读透 GO 语言的切片
  7. 诺顿无法启动扫描,扫描引擎返回错误0x20000058错误
  8. mysql源码解读——源码介绍
  9. java求阶乘1-20_java求1+2!+3!+...+20!的和,java1到20的阶乘
  10. Redis 实战场景详解
  11. Ubuntu16.04中安装stlink驱动
  12. IntelliJ IDEA开发Java web项目,设置JSP代码自动补全的方法
  13. 怎么修改思迅软件的服务器地址,思迅的服务器地址如何更改
  14. ssm java当前项目路径_SSM项目中动态获取路径
  15. Maxwell:异构数据源实时同步工具
  16. xbox win10测试软件,win10中自带的录屏工具xbox录屏软件怎使用?
  17. jQuery常用插件介绍
  18. java ready()_Java BufferedReader ready()用法及代码示例
  19. 基于SSM框架实现的日记管理系统
  20. 【第25章】移动应用安全需求分析与安全保护工程(软考:信息安全工程师) -- 学习笔记

热门文章

  1. linux 中的目录 bin,Linux中的lt;/bingt;目录-bin文件夹
  2. 安卓通过usb互相通信_Android通过USB与PC通信
  3. 计算机速录比赛主题,速录技能比赛活动方案.doc
  4. matplotlib中ylabel和xlabel函数
  5. 今天我们不聊原理,能拿来即用的线程池最佳实践
  6. OO CSS(面向对象 CSS)
  7. 获取某月的第一个和最后个星期一
  8. lte基站可以做ntp server吗?_什么是NB-IoT?NB-IoT有什么优势?NB-IoT能做什么?
  9. 有向循环图的绘制(DAG)
  10. c语言基础教程视频地址