스프링 부트의 카페 엔티티에 별점 칼럼을 추가하고 계속 업데이트하는 방식:
장점:
별점이 필요한 경우 바로 사용할 수 있어 응답 시간이 빠릅니다.
데이터베이스에 저장된 별점이 최신 상태이므로, 추가 연산이 필요 없습니다.
단점:
별점이 수정될 때마다 카페 엔티티를 업데이트해야 하므로, 데이터베이스에 부하가 발생할 수 있습니다.
실시간으로 별점을 계산하는 것이 아니므로, 최신 정보가 반영되지 않을 수 있습니다.
별점을 요청할 때마다 계산해서 가져오는 방식:
장점:
별점 정보가 항상 최신 상태로 유지됩니다.
데이터베이스에 별점 칼럼을 추가할 필요가 없으므로, 데이터베이스 구조가 단순해집니다.
단점:
별점을 요청할 때마다 별점을 계산해야 하므로, 서버의 부하와 응답 시간이 증가할 수 있습니다.
결론적으로, 어떤 방식을 사용할지는 프로젝트의 요구 사항과 성능 측면을 고려하여 결정해야 합니다. 예를 들어, 별점이 자주 업데이트되지 않고 최신 상태가 중요하지 않다면 첫 번째 방식을 사용하는 것이 좋습니다. 반대로, 실시간으로 최신 별점 정보가 필요하다면 두 번째 방식이 더 적합할 수 있습니다.
'Spring' 카테고리의 다른 글
seatRepository.deleteByCafeCafeId(cafeId) 과 seatRepository.deleteByCafeId(cafeId)의 차이 (0) | 2023.04.26 |
---|---|
삭제기능시 단방향조인과 양방향조인 (0) | 2023.04.26 |
JPA) QueryCreationException해결: id와 JPA레포지토리 메서드명 (0) | 2023.04.24 |
foreign key 때문에 안지워지는거 테이블 삭제 방법 (0) | 2023.04.23 |
트래픽에 따른 페이징 처리 (0) | 2023.04.23 |