教你如何6秒钟往MySQL插入100万条数据!然后删库跑路!

学习提速专享!AI工具全家桶免费用 限时购周边加赠Coding Plan Lite,解锁20+主流AI工具,写代码、查资料快人一步! 阅读详情

一、思路

往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

 

源码获取点击这里

python工具-excel批量导入mysql (几千数据半小时可搞定) 这个工具是之前写了做数据稽核用的工具,甲方发过来了几十个Excel表格,每个表格都有一百多数据,必须导入数据库才能作分析,所以写了这个脚本用来导数据,做报表的可参考,改一下脚本中的数据库字段就能用了 立即下载

相关推荐

100万条数据导入SQL数据库仅用4秒

100万条数据导入SQL数据库仅用4秒,100万条数据导入SQL数据库仅用4秒

MySQL十秒插入万条数据

mysql 十秒快速插入万条数据 用时:62分钟多 方式一、二总结:到此可以看出其实其处理程序及批处理是没有起作用的,为此我们使用方式三 方法三较于方法二的改变是只是url地址上的改变,其它没有任何修改 用时:【10秒左右】

莫绝岚的小屋 2万+

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

主要介绍了你如何6秒钟MySQL插入100万条数据的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

mysql -- 使用存储过程快速插入100万条数据

msyql 批量插入万条数据

qq_25672165的博客 941

你用Python向MySQL插入一百万条测试数据

环境 Windows10+Python3.8+MySQL5.7 需求 在MySQL上构造一个100W条记录的表,要求有日期类型 存放5年的数据。 表结构 +-------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------+-------------+------+-----+---------+---

枫枫的抽屉 6935

MySQL设置字段从指定数字自增,比如10000

MySQL设置字段从指定数字自增,比如10000.方式一方式二 方式一 此时就解决了MySQL从指定数字进行自增 CREATE TABLE hyxxb( hyid INT AUTO_INCREMENT, hyxm VARCHAR(50) COMMENT "会员姓名", hyxb CHAR (2), hykh VARCHAR(20) COMMENT "会员卡号", sjhm VARCHAR(20), knye INT, scxfsj DATETIME, PRIMARY KEY(hyid) )A

qq_51420730的博客 3970

插入2数据耗时_你如何6秒钟MySQL插入100万条数据!然后跑路

一、思路往MySQL插入1000000条数据只花了6秒钟!关键点:1.使用PreparedStatement对象2.rewriteBatchedStatements=true开启批量插入插入只执行一次,所有插入比较快。二、 代码package test0823.demo1;import java.sql.*;/** * @author : Bei-Zhen * @date : 20...

weixin_39909001的博客 283

mysql限制100万条数据_你如何6秒钟MySQL插入100万条数据!然后跑路

一、思路往MySQL插入1000000条数据只花了6秒钟!关键点:1.使用PreparedStatement对象​​2.rewriteBatchedStatements=true 开启批量插入插入只执行一次,所有插入比较快。​二、 代码package test0823.demo1;import java.sql.*;/*** @author : Bei-Zhen* @date : 2020-0...

weixin_42429120的博客 173

centos mysql jar 驱动包_你如何6秒钟MySQL插入100万条数据!然后跑路

一、思路往MySQL插入1000000条数据只花了6秒钟!关键点:1.使用PreparedStatement对象​​2.rewriteBatchedStatements=true 开启批量插入插入只执行一次,所有插入比较快。​二、 代码package test0823.demo1; import java.sql.*; /** * @author : Bei-Zhen * @date ...

weixin_39653764的博客 85

mysql 插入数据 自增长_你如何6秒钟MySQL插入100万条数据!然后跑路

一、思路往MySQL插入1000000条数据只花了6秒钟!关键点:1.使用PreparedStatement对象​​2.rewriteBatchedStatements=true 开启批量插入插入只执行一次,所有插入比较快。​二、 代码package test0823.demo1; import java.sql.*; /** * @author : Bei-Zhen * @date ...

weixin_29775479的博客 93

mysql数据库跑路之mysq索引

一 介绍 为何要有索引? 一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,在生产环境中,我们遇到最多的,也是最容易出问题的,还是一些复杂的查询操作,因此对查询语句的优化显然是重中之重。说起加速查询,就不得不提到索引了。 什么是索引? 索引在MySQL中也叫做“键”,是存储引擎用于快速找到记录的一种数据结构。索引对于良好的性能非常关键,尤其...

weixin_34242331的博客 220

Unity面试 每日5题 07补充

Unity面试 每日5题 07补充(Mysql插入100数据

Anyo1n的博客 188

MySQL单机并发量_mysql并发量-MySQL集群能支持100个并发请求吗

当然支持100并发。 首先,我们必须做出决定,把阅读和写作分开。 然后,它取决于你需要分配多少个单元用于写作和阅读。 我的SQL集群不建议您使用它,因为有太多的错误。 所有这些都需要先进行压力测试。 业务不同,SQL写读也不同。 压力测试应根据具体业务进行。 受服务器配置和网络环境的限制,MySQL数据库支持的并发连接的最大数量为16384、实际服务器支持的并发连接的数量会更小。 主要决定因素:...

weixin_29016833的博客 1万+

MySQL 通过存储过程高效插入100w条数据

MySQL 通过存储过程高效插入100w条数据

kerwin的博客 1万+

你向 MySQL 数据库插入 100w 条数据用了多久?

点击上方蓝色字体,选择“标星公众号”优质文章,第一时间送达作者 |孤独键客来源 |http://rrd.me/enSqt多线程插入(单表)问:为何对同一个表的插入多线程会比单线程快?...

程序员闪充宝 412

MySQL 高级:批量插入数据量【含代码示例】

批量插入数据量并非易事,它涉及到数据库配置、数据处理、网络传输等多个方面的考量。通过本文的学习,你不仅掌握了几种常见的批量插入方法,还了解了如何在实际工作中运用这些技巧,以达到最优的性能表现。希望这些知识和经验能帮助你在处理大数据量时更加得心应手,提升数据库操作的效率与稳健性。欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。DTcode7的博客首页。

一个做过前端开发的产品经理,经历过睿智产品的折磨导致脱发之后,励志要翻身"农奴"把歌唱,一边打入敌人内部一边持续提升自己,为我们广大开发同胞谋福祉,坚决抵制睿智产品折磨我们码农兄弟! 5068

Mysql 之百数据导入

Mysql 之百数据导入 1、方法 直接source sql 文件进行直接导入(不推荐) Load data infile命令进行导入(推荐) 更换引擎,将表的InnoDB引擎改为MyISAM,再导入数据(不推荐) 将导入数据的单条SQL语句为多条进行数据的导入(推荐) 存储过程 + 事务进行有序插入(有兴趣的可以自己试试) 1.1 直接导入(不推荐) 这种方式就不需要讲了,简单暴力,直接source use example_database; source your_disk:/yourpath/e

weixin_42272869的博客 3130
上一篇: 如何利用Python实现图片转字符画!
下一篇: 为什么我们要学Python及基础语法详解,因为必须会它才能学Python!
pythonlaodi
博客等级 码龄6年 286粉丝 244原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值