mysql数据库100万条数据JDBC插入的各种方式效率对比
下面测试四个方式:
1 、一条一条插入 166秒/10万
2、jdbc采用事务提交 135秒/10万
3、batch方式(内部实现方式-拼接values) 12.73秒/10万
4、事务+batch方式 9.99秒/10万
package test.jbdc;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import org.junit.Test;
/**
* 大数据量的插入---> 测试100万条数据 【一共5个字段的表】
* 方法1、普通采用jdbc插入
* 方法2、jdbc用事务进行提交 --> 事务提交是把语句一起执行
* 方法3、batch语句 --> 内部实现是是把 values 后面的插入值变成成 values(,,,),(,,,,) :
*/
public class BigDataTest {
/**
* 一、普通方式
* 时间:10万条:16672ms 折合100万条 = 166.72秒
*/
@Test
public void test1(){
Connection conn = JDBCUtil.getConnection();
PreparedStatement stmt = null;
long t1 = System.currentTimeMillis();
try {
stmt = conn.prepareStatement("insert into test_yxtj