相关文章推荐

数据库用的是mysql,部署在windows系统上。前提是不改变这两个条件。Stringsql="updatetableA=?,B=?,C=?whereD=?andE=?";字段D和E都建索引了。BatchPreparedStatementSetterbatch=new...

数据库用的是mysql,部署在windows系统上。前提是不改变这两个条件。

String sql= "update table A= ?, B= ?, C= ? where D= ? and E= ? ";

字段D和E都建索引了。

BatchPreparedStatementSetter batch = new BatchPreparedStatementSetter(){

@Override

public int getBatchSize() {

return rtData.size();

}

@Override

public void setValues(PreparedStatement ps, int i) throws SQLException {

Object[] obj = rtData.get(i);

ps.setObject(1, obj[0].toString());

ps.setObject(2, obj[1].toString());

ps.setObject(3, obj[2].toString());

ps.setObject(4, obj[3].toString());

ps.setObject(5, obj[4].toString());

}

};

int[] updateCounts = PConfigManageService.getJdbcTemplate().batchUpdate(sql,batch);

更新500条数据,需要20秒。太慢了。哪位大神可怜可怜我。尽量控制在5秒之内。

展开

版权声明:本文为CSDN博主「weixin_36260323」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接: https://blog.csdn.net/weixin_36260323/article/details/114530661
 
推荐文章