У меня есть список из 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;
}