我有一个包含 500,000 条记录的列表。我正在使用批量更新代码在数据库中插入数据。我应该在一次批量插入中发送这么多记录吗?或者我应该使用提交大小以 50000 的间隔提交。如何设置提交大小?
try
{
strInsertQry = "INSERT INTO file_upload_tbl_xm"
+ "(rec_id,fupload_id)"
+ "values" + "(UPLOAD_S.nextval,"
+ " ? " //
+ ")";
getJdbcTemplate().getDataSource().getConnection().setAutoCommit(false);
int[] updateCounts = getJdbcTemplate().batchUpdate(strInsertQry,new BatchPreparedStatementSetter()
{
public void setValues(PreparedStatement ps, int i) throws SQLException {
FileDataDTO dataDTO = (FileDataDTO)lstSqlFinalData.get(i);
ps.setInt(1,dataDTO.getIntFuploadId());
}
public int getBatchSize() {
return lstSqlFinalData.size();
}
} );
//intResult = updateCounts[0];
// getJdbcTemplate().getDataSource().getConnection().commit();
return true;
}