教你如何6秒钟往MySQL插入100万条数据!然后删库跑路!
教你如何6秒钟往MySQL插入100万条数据!然后删库跑路!
由于我用的mysql 8版本,所以增加了Timezone,然后就可以了
前提是要自己建好库和表。 数据库test, 表user, 三个字段: u_id、u_name、u_pwd,然后主键自增
conn = DriverManager.getConnection("jdbc:mysql:///test?" + "&rewriteBatchedStatements=true&serverTimezone=Asia/Shanghai", "root", "123456");
运行结果如下:
代码如下:
package rs.dms.test; 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&serverTimezone=Asia/Shanghai", "root", "123456");
//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();
}
}
}
} } }
教你如何6秒钟往MySQL插入100万条数据!然后删库跑路!的更多相关文章
- PHP实现插入100万条数据优化
第一种方法一条一条执行插入,结果会很慢 <?php header("Content-Type:text/html;charset=utf-8"); date_default_ ...
- mysql插入一万条数据
定义一个存储过程 mysql> delimiter $$ mysql> create procedure ptest() -> begin -> declare p ...
- Oracle中插入100万条数据
在做项目的工程中,需要数据库中存在大量的数据进行程序的验证,但是我们又没有数据,这时就需要我们自己手动建一个表,插入大量数据,进行验证. 那么插入大量数据的sql语句如下: insert into E ...
- 绝对干货,教你4分钟插入1000万条数据到mysql数据库表,快快进来
我用到的数据库为,mysql数据库5.7版本的 1.首先自己准备好数据库表 其实我在插入1000万条数据的时候遇到了一些问题,现在先来解决他们,一开始我插入100万条数据时候报错,控制台的信息如下: ...
- 插入1000万条数据到mysql数据库表
转自:https://www.cnblogs.com/fanwencong/p/5765136.html 我用到的数据库为,mysql数据库5.7版本的 1.首先自己准备好数据库表 其实我在插入100 ...
- 使用hibernate在5秒内插入11万条数据,你觉得可能吗?
需求是这样的,需要查询某几个表的数据,然后插入到另外一个表. 一看到需求,很多人都会用hibernate去把这些数据都查询出来,然后放到list中, 然后再用for循环之类的进行遍历,一条一条的取出数 ...
- 复杂业务下向Mysql导入30万条数据代码优化的踩坑记录
从毕业到现在第一次接触到超过30万条数据导入MySQL的场景(有点low),就是在顺丰公司接入我司EMM产品时需要将AD中的员工数据导入MySQL中,因此楼主负责的模块connector就派上了用场. ...
- Mysql binlog备份数据及恢复数据,学会这个,我在也不怕删库跑路啦~
导读 我一直都主张,技多不压身(没有学不会的技术,只有不学习的人),多学一项技能,未来就少求人一次.网上经常听到xxx删库跑路,万一真的遇到了,相信通过今天的学习,也能将数据再恢复回来~~~ 当然啦, ...
- Delphi 操作SQL 插入一万条数据 三种方式速度测试
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms ...
随机推荐
- Mybatis 批量插入
一.首先对于批量数据的插入有两种解决方案(下面内容只讨论和Mysql交互的情况) 1)for循环调用Dao中的单条插入方法 2)传一个List<Object>参数,使用Mybatis的批量 ...
- 数组实现堆栈——Java实现
1 package struct; 2 3 4 //接口 5 interface IArrayStack{ 6 //栈的容量 7 int length(); 8 //栈中元素个数(栈大小) 9 int ...
- Linux环境下为普通用户添加sudo权限
系统环境:Centos6.5 1.背景: sudo是Linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部root命令的一个工具.Linux系统下,为了安全,一般来说我们操作都是在普通用户 ...
- spring mvc访问html页面404报错解决
<servlet> <servlet-name>context</servlet-name> <servlet-class>org.springfram ...
- 【力扣】188. 买卖股票的最佳时机 IV
给定一个整数数组 prices ,它的第 i 个元素 prices[i] 是一支给定的股票在第 i 天的价格. 设计一个算法来计算你所能获取的最大利润.你最多可以完成 k 笔交易. 注意:你不能同时参 ...
- Linux下安装Calibre
目录 一.介绍 二.安装 三.测试 四.报错处理 一.介绍 Calibre是基于python的电子书制作软件,可导出PDF.EPUB.MOBI.Word格式电子书. 二.安装 yum -y insta ...
- 共享资源库(Project)
<Project2016 企业项目管理实践>张会斌 董方好 编著 既然要共享资源库,那就得先建一个可供共享的资源库文件,好吧,说得这么高大上,其实就是一个里面只有资源数据的mpp项目文件, ...
- LuoguP7369 [COCI2018-2019#4] Elder 题解
Content 有一个魔杖最初在 \(Z\) 巫师中.经过 \(n\) 轮较量,第 \(i\) 轮中,\(Z_{i,1}\) 巫师打败了 \(Z_{i,2}\) 巫师.如果一个巫师打败了拥有魔杖的巫师 ...
- java 编程基础 Class对象 反射 :数组操作java.lang.reflect.Array类
java.lang.reflect包下还提供了Array类 java.lang.reflect包下还提供了Array类,Array对象可以代表所有的数组.程序可以通过使 Array 来动态地创建数组, ...
- java 图形化小工具Abstract Window Toolit ;布局管理器FlowLayout流式布局;BorderLayout边界布局;GridLayout网格布局;CardLayou重叠卡片布局;BoxLayout方框布局;绝对定位
1.FlowLayout流式布局管理器: FlowLayout布局管理器中,组件像水流一样向某方向流动(排列),遇到障碍(边界)就折回,重头开始排列 .在默认情况下,FlowLayout局管理器从左向 ...