강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

sssom님의 프로필 이미지
sssom

작성한 질문수

실전! Querydsl

스프링 데이터 페이징 활용2 - CountQuery 최적화

여러 테이블 조인하여 통계치를 구하고자 할 때 어떤 방법이 더 효율적일까요

작성

·

12

1

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.

1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)

[질문 내용]

@Getter
@AllArgsConstructor
public class MemberOrderStatDto {
    private Long memberId;
    private String memberName;
    private long orderCount;          // 주문 수 (distinct)
    private BigDecimal totalAmount;   // 총 매출
    private Double avgItemPrice;      // 아이템 평균 가격
    private Long last7dOrderCount;    // 최근 7일 주문 수 (서브쿼리)
}

위와 같은 통계치를 여러 테이블을 조인하여 추출해내야 하는데,

이 경우에는 querysql로 쿼리를 작성하는 것보다 mybatis xml에 직접 쿼리를 작성하는게 더 효율적일까요?

 

 

 

 

 

답변 1

0

안녕하세요. sssom님, 공식 서포터즈 David입니다.

QueryDsl, MyBatis를 사용하는 이유와 두 가지의 차이를 비교해 보시면 결정에 도움이 될거에요:)

이와 별개로 올려주신 쿼리는 QueryDsl로도 충분히 다룰 수 있습니다.

감사합니다.

sssom님의 프로필 이미지
sssom

작성한 질문수

질문하기