작성
·
551
0
@Transactional
@PostMapping("/user/sign-up")
public ResponseEntity<?> test (String mailCode, String smsCode) {
MailAuth mailAuth = mailAuthRepo.findByCode(mailCode);
if (mailAuth == null) {
return falied....
}
SmsAuth smsAuth = smsAuthRepo.findByCode(smsCode);
if (smsAuth == null) {
return failed...
}
userRepo.save(User.builder.username('test').email('test@test').build());
return success
}
순수 JPA 수업인 해당 수업과 관련이 없는 질문이라 정말 죄송합니다.
하지만 너무 궁금한게 있어서 질문드리네요...
답변 1
1
안녕하세요. Coinvest님
쿼리수가 줄어들면 아무래도 더 빠르겠지요.
하지만 둘다 code성 조회여서 index를 매우 빠르게 타게 됩니다.
그래서 성능을 최적화해도 크게 이점이 없을 수 있습니다.
우리가 성능 최적화를 고민할 때는, 애플리케이션 전체를 두고 고민해야 합니다.
예를 들어서 join으로 바꾸어서 50ms -> 30ms 정도로 바꾸면 매우 크게 개선한 것 같지만, 이 기능을 자주 사용하는 것도 아니고, 애플리케이션 전체로 보면 주로 목록, 상세 조회 같은 기능이 훨씬 더 많은 트래픽이 발생합니다.
그리고 join으로 최적화를 하게 되면, 이 부분을 캐시 구조로 히트하도록 만드는 것이 어렵습니다. 지금 구조 처럼 단순하면 캐시를 만들기도 쉽지요.
도움이 되셨길 바래요.
감사합니다^^. 많은 도움이 되었습니다.