update 修复sql查询过长,cpu占用过高问题

This commit is contained in:
yyb
2026-01-12 14:50:34 +08:00
parent e88ee6357b
commit 33099f3383
2 changed files with 10 additions and 7 deletions

View File

@@ -78,10 +78,13 @@ public class RealPowerInsetTask {
public List<ProductMachineDto> getRealPower(String coin){
List<LeaseProductMachine> leaseProductMachines = leaseProductMachineMapper.selectList(new LambdaQueryWrapper<LeaseProductMachine>()
.eq(LeaseProductMachine::getDel, false));
List<ProductMachineDto> recentlyFiveMinutesData = leaseProductMachineMapper.getRecentlyFiveMinutesData(leaseProductMachines, coin);
for (ProductMachineDto recentlyFiveMinutesDatum : recentlyFiveMinutesData) {
recentlyFiveMinutesDatum.setComputingPower(recentlyFiveMinutesDatum.getComputingPower()
.divide(BigDecimal.valueOf(24 * 60 * 60),2, RoundingMode.HALF_UP));
List<ProductMachineDto> recentlyFiveMinutesData = new ArrayList<>();
if(!leaseProductMachines.isEmpty()){
recentlyFiveMinutesData = leaseProductMachineMapper.getRecentlyFiveMinutesData(leaseProductMachines, coin);
for (ProductMachineDto recentlyFiveMinutesDatum : recentlyFiveMinutesData) {
recentlyFiveMinutesDatum.setComputingPower(recentlyFiveMinutesDatum.getComputingPower()
.divide(BigDecimal.valueOf(24 * 60 * 60),2, RoundingMode.HALF_UP));
}
}
return recentlyFiveMinutesData;
}

View File

@@ -91,9 +91,9 @@
WHERE
`date` >= DATE_SUB(now(), INTERVAL 1 DAY)
<if test="leaseProductMachines != null and leaseProductMachines.size() > 0">
AND (
<foreach collection="leaseProductMachines" item="pair" separator="OR">
(`user` = #{pair.user} AND miner = #{pair.miner})
AND (`user`, miner) IN (
<foreach collection="leaseProductMachines" item="pair" separator=",">
(#{pair.user}, #{pair.miner})
</foreach>
)
</if>