我想在postgre中使用springs jdbc模板进行批量更新。
但是,我很好奇是否真的需要使用jdbctemplate.batchupdate()调用。我在几个地方读到,如果没有正确实施,它们的速度会慢一些。
在循环中插入的方法上添加@transactional会实现批处理更新的相同功能吗?
如果下面的方法一次插入一条记录,是从一个事务循环中调用的,如图所示,这会导致更新以批处理的方式发生吗?
public void insertProdPayload(String Prod_Name, LocalDate sourceDt, String exchangeId, int status, String payload) {
int ret = jdbcTemplate
.update(DBQueryConstants.INSERT_PAYLOAD, Prod_Name, sourceDt, exId, status, payload);
}
@Override
@Transactional
public void ingestListOfPayloads(List<Message<MessageMetricRecord>> payloadMessages) {
for (Message<Payload> message : payloadMessages) {
insertProdPayload(message.getProdName,message.getDate(),message.getExchangeID(),message.getStatus(),message.getPayload());
}
}
jdbc模板的默认配置为springboot2,postgresql版本为9.6。
暂无答案!
目前还没有任何答案,快来回答吧!