saveAll(), save() 차이

BB·2023년 1월 30일
0

Mysql DB의 경우 루프 + save(), saveAll() 속도 차이가 100배 가량 났다.

// 35000 ~ 40000 millis
pricePerMinuteDto.getPriceHashMap().forEach((k,v) -> {
    mysqlRepository.save(...)
    );
});

// 100 ~ 400 millis
mysqlRepository.saveAll(pricePerMinuteDto.getPriceHashMap().entrySet().stream()
        .map(entry -> new PriceInfoMysql(...)
        )
        .collect(Collectors.toList())
);

하지만 Redis 의 경우 유의미한 차이가 안남

// 초기
readValue.getFields().forEach((k, v) -> {
    redisRepository.save(new PriceInfoRedis(...));
});


// 변경
redisRepository.saveAll(
        readValue.getFields().entrySet().stream().map(
                entry -> new PriceInfoRedis(...))
                .collect(Collectors.toList())
);
profile
공부

0개의 댓글