• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

쿼리 성능에 대하여...

22.05.25 18:07 작성 조회수 118

1

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

[질문 내용]
안녕하세요 영한님, 강의 잘 듣고 있습니다 ㅎㅎ

취준생때 영한님강의로 공부하고, 현재는 취업해서 JPA+Springboot로 실무에 참여하고있어요!

[올해의 계약금액을 월별로 조회] 하는 API를 작성해야하는데요

테이블관계는 아래와같습니다. (한명이 여러 계약을 가질수 있고, 하나의 계약에 여러개의 입금내역을 가집니다)
[사람] 1 : N [계약] 1 : N [입금내역]

입금내역을 조회하지만, 조건절에 사람테이블에 있는 컬럼을 사용해야해서 전부 조인을 걸었어요.

SELECT ...
FROM 사람
INNER JOIN 계약 ON ,,,
INNER JOIN 입금 ON ...
WHERE 사람.조건 = 조건
AND 계약.날짜 between '202201' and '202205'
GROUPBY 계약날짜 -- 월별

문제는 건수가 너무 많다는건데요.. 해당 데이터는 전체 몇백만건으로,
[계약] - [입금내역]간 조인에 많은 시간이 소요되고 있어요..

해당부분을 해소하기위한 방법으로는 어떤게있을까요? 아래 방법이 가능할까요?
1. 서비스단에서 월별로 쿼리를 나누어서 실행 for문을 통해 총 5회의 쿼리를 수행...
2. 쿼리자체에서 5번으로 수행해서 결과도출 (UNION ALL)

영한님이였으면 어떻게 성능을 개선했을지 궁금합니다..

답변 1

답변을 작성해보세요.

0

안녕하세요. 김진영님

죄송하지만 질문 안내에 있는 것 처럼 강의 학습에 관련된 질문을 올려주시길 부탁드립니다.

저도 마음으로는 도움을 드리고 싶지만, 하루에도 수 많은 분들이 질문을 올려주십니다. 그래서 강의 학습과 관련된 질문에 초점을 맞추는 것이 맞다 생각합니다. 다시한번 이해를 부탁드립니다.