MySql开启批处理加快响应速度

时间:2022-07-01 19:49:42

数据库连接url后加上rewriteBatchedStatements=true这个参数即可

jdbc:mysql://localhost:3306/mydb?rewriteBatchedStatements=true


import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;

import org.junit.Test;

import cn.yellowimg.demo3.JdbcUtils;

public class Demo5 {
@Test
public void fun1() throws Exception{

Connection con=JdbcUtils.getConnection();

String sql="insert into stu values(?,?,?,?)";

PreparedStatement preparedStatement=con.prepareStatement(sql);

for(int i=0;i<10000;i++)
{
preparedStatement.setInt(1, i+1);
preparedStatement.setString(2, "ITCAST_"+i);
preparedStatement.setInt(3, i);
preparedStatement.setString(4, i%2==0?"男":"女");
preparedStatement.addBatch();
}
long start=System.currentTimeMillis();
preparedStatement.executeBatch();
long end=System.currentTimeMillis();

System.out.println(end-start);
}
}
preparedStatement.addBatch(); 将sql语句添加到批处理集合中
preparedStatement.executeBatch(); 执行批处理集合