gpt4 book ai didi

java - Spring 批量插入中的提交大小

转载 作者:行者123 更新时间:2023-12-01 05:50:57 25 4
gpt4 key购买 nike

我有一个包含 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;
}

最佳答案

我总是将提交大小设置为500。在使用“SQL Manager for MySQL”之后,我开始了这种实践。导出和导入默认为 500,我注意到恢复时提交的性能有所提高,并且当出现问题时,很容易恢复,而不会导致控制台挂起。

我使用 HQL 以及 SQL 进行操作。

关于java - Spring 批量插入中的提交大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4700645/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com