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

一、思路

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

关键点:

1.使用PreparedStatement对象

3844ff0ff3fbae277f660e1894b08f97.png

a37933d870be4a24e782611dd0a74f0d.png

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

2557d7eab3621490929e8cfe967a8707.png

二、 代码

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秒

dbf1e50815fd1c056ee5f749374a76e0.png

f9acecee9c3e0d9ea73c42b1a679091b.png

到此这篇关于教你如何6秒钟往MySQL插入100万条数据的实现的文章就介绍到这了,更多相关MySQL插入100万条数据内容请搜索聚米学院以前的文章或继续浏览下面的相关文章希望大家以后多多支持聚米学院!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/406073.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大型网站系统架构实践(四)http层负载均衡之haproxy实践篇(一)

方案 上篇文章讲到了负载均衡的相关理论知识&#xff0c;这篇文章我打算讲讲实践方法以及实践中遇到的问题 方案&#xff1a;haproxy http层负载均衡 安装一个haproxy服务&#xff0c;两个web服务 haproxy&#xff1a;192.168.1.227:80 web1 http://192.168.1.226:8081/login w…

[Python]使用 lambda 函数

From:http://woodpecker.org.cn/diveintopython/power_of_introspection/lambda_functions.html 4.7. 使用 lambda 函数 4.7.1. 真实世界中的 lambda 函数 Python 支持一种有趣的语法&#xff0c;它允许你快速定义单行的最小函数。这些叫做 lambda 的函数&#xff0c;是从 Li…

日志处理(二) 日志组件logback的介绍及配置使用方法(转)

本文转自&#xff1a;http://www.cnblogs.com/yuanermen/archive/2012/02/13/2348942.html http://www.cnblogs.com/yuanermen/archive/2012/02/13/2349609.html 一、logback的介绍 Logback是由log4j创始人设计的又一个开源日志组件。logback当前分成三个模块&#xff1a;logba…

python package安装包_安装Python包(第三方库)

检查python版本如果“提示 python 不是内部或外部命令&#xff0c;也不是可运行的程序或批处理文件。”&#xff0c;可能有2种原因1、进入的目录不对 (切换目录后再查看)C:\Users\zhangXXXX>pythonpython 不是内部或外部命令&#xff0c;也不是可运行的程序或批处理文件。C:…

Windows2003+SQL2000的集群安装手册

1 集群服务器安装及配置 步骤节点1节点2存储注释安装配置系统上电上电断电检查所有共享总线上的存储设备是否都已经断电&#xff0c;给各节点上电。1.1 安装Windows Server 2003操作系统 在服务器1和服务器2分别独立安装Windows Server 2003操作系统。安装要开始安装过程&#…

Bash中执行存储过程或普通的SQL命令

演示&#xff1a; 在bash中执行一个存储过程和一个普通的SQL语句 0. 前提条件&#xff1a; 数据库&#xff1a;Oracle10g 表&#xff1a;oracle自带的emp表&#xff0c;默认有数据如下&#xff1a; 1. 在bash中执行oracle存储过程 首先&#xff0c;在oracle中建立一个存储过…

“AS3.0高级动画编程”学习:第二章转向行为(下)

在上一篇里&#xff0c;我们学习了“自主角色”的一些基本行为&#xff1a;寻找(seek)、避开(flee)、到达(arrive)、追捕(pursue)、躲避(evade)、漫游(wander)。这一篇将继续学习其它更复杂&#xff0c;更高级的行为。 一、对象回避(object avoidance) 对象回避的正式解释为&am…

solor mysql_solr 同步 mysql

一、首先创建一个数据库和表这里创建了一个表&#xff0c;加上了测试数据&#xff0c;注意这里有一个字段来记录更新时间 update_date二、修改配置文件我们首先介绍全量同步&#xff0c;再介绍增量同步我的 solr 版本是 7.5 的&#xff0c;new_core是我创建的 core&#xff0c…

java canvas 缩放图片_详解如何用HTML5 Canvas API控制图片的缩放变换

摘要&#xff1a;这篇HTML5栏目下的“详解如何用HTML5 Canvas API控制图片的缩放变换”&#xff0c;介绍的技术点是“html5_canvas、canvas、Html5、控制图片、api、图片”&#xff0c;希望对大家开发技术学习和问题解决有帮助。缩放变换scale(sx,sy)传入两个参数&#xff0c;分…

向周鸿祎的360安全浏览器学互联网产品运营和推广

做互联网产品运营就要像周鸿祎一样&#xff0c;老周一直是运营流的大力倡导者&#xff0c;而360安全浏览器则是老周给我们上的产品运营又一课&#xff0c;醍醐灌顶&#xff0c;如梦初醒。 下图是截止到今年6月中国网民的浏览器使用情况图&#xff1a; 根据CNZZ的数据&#xff0…

java中的locksupport_java中线程的停止以及LockSupport工具类

看jstack输出的时候&#xff0c;可以发现很多状态都是TIMED_WAITING(parking)&#xff0c;如下所示&#xff1a;"http-bio-8080-exec-16" #70 daemon prio5 os_prio0 tid0x00007f6088027800 nid0x3a1f waiting on condition [0x00007f60fcd03000]java.lang.Thread.St…