我有一个 saveAll() 函数,它将部件保存到部件表和部件审计表中。当记录计数较低时,例如 1000 ..需要 2-3 分钟来保存和更新表,并且作业完成...但是当记录计数变为 200,000 时..作业继续运行...没有数据也在表中插入。 有什么技术/建议可以快速有效地向表中插入 200,000 条记录吗?
for (int i=0; i<inParts.size(); i++) {
......
} else {
try {
Part addedPart = new Part();
PropertyUtils.copyProperties(addedPart, inPart);
addedPart.setCreatedBy("System");
addedPart.setCreatedAt(new Date());
addUpdParts.add(addedPart);
added++;
} catch (IllegalAccessException | InvocationTargetException | NoSuchMethodException e) {
log.error(e.getMessage());
}
}
}
Date savd = new Date();
log.info("start saving");
partRepo.saveAll(addUpdParts);
log.info("start deleting staging");
partStagingRepo.deleteAll();
log.info("done");
我认为你需要检查三件事