各位前輩/大神 好:
目前使用spring boot MVC開發後端web程式,使用jdbctemplate寫資料庫程式,
用到其batchUpdate方法批次更新5萬筆資料,共花了26.443秒,執行效能不是很好,
說明如下:
1.軟體版本說明:
spring boot 3.0.2
spring-jdbc 6.0.4
mssql-jdbc 12.2.0
資料庫 微軟SQL Server 2019 Express
作業系統Windows 10
2.程式碼:
StocksRepository.java
僅列出batchUpdate方法的程式碼
public void batchUpdate(List<stock> stocks) {
jdbc_template.batchUpdate(
"update stocks set amount = ? where parts_number = ?",
new BatchPreparedStatementSetter() {
public void setValues(PreparedStatement ps,int i)
throws SQLException{
ps.setString(1,stocks.get(i).getAmount());
ps.setString(2,stocks.get(i).getParts_number());
}
public int getBatchSize(){
return stocks.size();
}
}//end BatchPreparedStatementSetter
);//end jdbctemplate batchupdate
}