失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > mysql如何快速插入数据_如何快速向Mysql插入大量数据?

mysql如何快速插入数据_如何快速向Mysql插入大量数据?

时间:2019-09-23 09:57:53

相关推荐

mysql如何快速插入数据_如何快速向Mysql插入大量数据?

本文摘要

本文演示了3分钟如何向MySQL数据库中插入100万条数据的实例。

一、编写测试案例向MySQL数据库中插入百万条数据。测试数据表建表脚本如下:use db_xk;

drop table if exists tb_test2;

create table tb_test2 (

id int primary key auto_increment,

subject varchar(50) not null,

description varchar(200) not null,

teacher_id int(10) zerofill not null,

student_id int(10) zerofill default null,

state boolean not null default false

);state boolean not null default false

);

测试案例源码如下:

package test;

import java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.SQLException;

import util.DBUtil;

public class TestDataBase2 {

public static void main(String[] args) {

Connection conn = DBUtil.getConnection();

String sql = "insert into tb_test2(subject, description, teacher_id, student_id) values (?,?,?,?)";

try {

PreparedStatement prep = conn.prepareStatement(sql);

// 将连接的自动提交关闭,数据在传送到数据库的过程中相当耗时

conn.setAutoCommit(false);

long start = System.currentTimeMillis();

for (int i = 0; i < 10; i++) {

long start2 = System.currentTimeMillis();

// 一次性执行插入10万条数据

for (int j = 0; j < 100000; j++) {

prep.setString(1, "test2");

prep.setString(2, "test3");

prep.setInt(3, 1234562);

prep.setInt(4, 12354545);

// 将预处理添加到批中

prep.addBatch();

}

// 预处理批量执行

prep.executeBatch();

prep.clearBatch();

mit();

long end2 = System.currentTimeMillis();

// 批量执行一次批量打印执行依次的时间

System.out.print("inner"+i+": ");

System.out.println(end2 - start2);

}

long end = System.currentTimeMillis();

System.out.print("total: ");

System.out.println(end - start);

} catch (SQLException e) {

e.printStackTrace();

} finally {

DBUtil.close(conn);

}

}

}

分享到:

-05-11 11:54

浏览 65

评论

如果觉得《mysql如何快速插入数据_如何快速向Mysql插入大量数据?》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。