강의

멘토링

로드맵

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

sssom님의 프로필 이미지
sssom

작성한 질문수

실전! Querydsl

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

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

작성

·

67

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에 직접 쿼리를 작성하는게 더 효율적일까요?

 

 

 

 

 

퀴즈

71%나 틀려요. 한번 도전해보세요!

스프링 데이터 JPA 사용 시 순수 JPA와 비교하여 개발 생산성 측면에서 얻는 주요 이점은 무엇일까요?

모든 쿼리를 수동으로 복잡하게 작성해야 한다

기본 CRUD(저장, 조회 등) 메서드를 인터페이스만으로 자동으로 제공받는다

모든 동적 쿼리 구현이 항상 완전히 자동화된다

데이터베이스 연결 설정을 직접 XML 파일로 관리해야 한다

답변 1

0

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

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

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

감사합니다.

sssom님의 프로필 이미지
sssom

작성한 질문수

질문하기