작성
·
11
0
안녕하세요, 강사님.
데이터를 효율적으로 JOIN 하여 어떻게 가져올지에 대한 방안에 대해 고민하던 중, 궁금한 점이 있어 질문을 드립니다.
강사님의 강의를 들으며 JOIN 시 결과 행수 차이에 대해 아래와 같이 이해했습니다.
부모 테이블에서 자식 테이블로 JOIN할 경우
→ 결과 행수가 부모 기준으로 유지된다.
자식 테이블에서 부모 테이블로 JOIN할 경우
→ 결과 행수가 자식 행수에 따라 크게 늘어날 수 있다.
그렇다면 아래와 같은 상황에서 어떻게 처리하는 게 효율적일지 궁금합니다.
강의 상세 페이지처럼 여러 유형의 데이터를 한 번에 가져와야 하는 경우
> 예시) 강의 정보, 강사 정보, 강의 평점, 강의 리뷰 등
부모 테이블(강의)에서 자식 테이블(강사 정보, 강의 평점)로 JOIN할 때, 결과 행수가 부모 테이블 기준으로 유지되거나 크게 늘어나지 않는 상황에서는 한 번의 쿼리로 모든 데이터를 조회하는 것이 좋은 방법일까요 ?
반대로, 강의 리뷰처럼 자식 테이블의 데이터가 많아져서 결과 행수가 급격히 늘어날 경우에는 리뷰 데이터만 별도의 쿼리 또는 API로 분리해서 조회하는 것이 더 바람직할지 궁금합니다.
결국, 관계 방향과 데이터 양에 따라 결과 행수가 크게 늘어나지 않는 JOIN까지만 한 번에 처리하고,
행수가 많아지는 데이터(예: 리뷰)는 별도로 쿼리하거나 API를 분리하는 전략이 좋을지, 그리고 쿼리/API 분리 기준을 어떻게 결정하는게 좋을지 설명해주시면 큰 도움이 될 것 같습니다.
감사합니다.
답변