Date genStartDate = null; if (task.getPlanningStartTime().before(beginOfDay)) { long deltaMillis = beginOfDay.getTime() - task.getPlanningStartTime().getTime(); genStartDate = DateUtil .offsetSecond(task.getPlanningStartTime(), (int) (task.getPeriodIntervalTime() * ((deltaMillis / 1000 / task.getPeriodIntervalTime()) + 1))) .toJdkDate(); } else { genStartDate = task.getPlanningStartTime(); } Date now = new Date(); if (now.after(genStartDate)) { genStartDate = now; } log.info("开始时间 {}", genStartDate); while (genStartDate.before(endOfDay)) { saveInitedTaskExecuteRecord(task, genStartDate); genStartDate = DateUtil.offsetSecond(genStartDate, task.getPeriodIntervalTime().intValue()) .toJdkDate(); } 把这段循环插入修改为批量插入
时间: 2024-04-14 11:27:15 浏览: 15
你可以将循环改为批量插入,这样可以提高效率。以下是修改后的代码示例:
```java
Date genStartDate = null;
if (task.getPlanningStartTime().before(beginOfDay)) {
long deltaMillis = beginOfDay.getTime() - task.getPlanningStartTime().getTime();
genStartDate = DateUtil
.offsetSecond(task.getPlanningStartTime(), (int) (task.getPeriodIntervalTime()
* ((deltaMillis / 1000 / task.getPeriodIntervalTime()) + 1)))
.toJdkDate();
} else {
genStartDate = task.getPlanningStartTime();
}
Date now = new Date();
if (now.after(genStartDate)) {
genStartDate = now;
}
log.info("开始时间 {}", genStartDate);
List<Date> datesToInsert = new ArrayList<>();
while (genStartDate.before(endOfDay)) {
datesToInsert.add(genStartDate);
genStartDate = DateUtil.offsetSecond(genStartDate, task.getPeriodIntervalTime().intValue())
.toJdkDate();
}
// 执行批量插入操作
saveInitedTaskExecuteRecords(task, datesToInsert);
```
在这个修改后的代码中,我们将需要插入的日期存储在一个列表中,然后一次性执行批量插入操作。这样可以减少插入操作的次数,提高效率。请确保 `saveInitedTaskExecuteRecords` 方法接受一个任务和日期列表作为参数,并执行相应的批量插入操作。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)