inflearn logo
강의

Course

Instructor

Young-han Kim's Practical Database - Basic Course

Summary

JOIN 방향에 따른 결과 행수와 효율적 데이터 조회 방법 질문

77

tyiju

1 asked

0

안녕하세요, 강사님.

데이터를 효율적으로 JOIN 하여 어떻게 가져올지에 대한 방안에 대해 고민하던 중, 궁금한 점이 있어 질문을 드립니다.

 

강사님의 강의를 들으며 JOIN 시 결과 행수 차이에 대해 아래와 같이 이해했습니다.

그렇다면 아래와 같은 상황에서 어떻게 처리하는 게 효율적일지 궁금합니다.


 

강의 상세 페이지처럼 여러 유형의 데이터를 한 번에 가져와야 하는 경우
> 예시) 강의 정보, 강사 정보, 강의 평점, 강의 리뷰 등

결국, 관계 방향과 데이터 양에 따라 결과 행수가 크게 늘어나지 않는 JOIN까지만 한 번에 처리하고,
행수가 많아지는 데이터(예: 리뷰)는 별도로 쿼리하거나 API를 분리하는 전략이 좋을지, 그리고 쿼리/API 분리 기준을 어떻게 결정하는게 좋을지 설명해주시면 큰 도움이 될 것 같습니다.

감사합니다.

sql mysql dbms/rdbms SQLD

Answer 1

0

y2gcoder

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

제가 같은 상황이라면 상세 페이지 조회에 필요한 API는 말씀하신 것과 같이 강의를 기준으로 강의 행 수에서 늘어나지 않는 것들만 JOIN으로 / 나머지는 별도의 API 로 분리해서 호출할 것 같습니다 🙂

또한 진행함에 따라 강의 정보만 별도로 조회해야할 때가 있을 때 등을 고려해서 각 섹션을 잘게 쪼개는 방법도 고려해볼 것 같습니다.

API 분리 기준은 상황에 따라 다르다고 생각합니다.

  1. 먼저 잘게 쪼개 놓고 자주 같이 조회하는 패턴은 합치기

  2. 합쳤다가 별개로 조회하는 경우가 많을 때는 쪼개기

의 2가지로 크게 분류할 수 있을 것 같습니다!

처음부터 많은 부분을 다 고려해서 설계하기 보다는 잘게 쪼개서 간단한 API 형태를 잡아놓고, 사용하는 양상을 보며 합치는 것도 좋은 선택지라 생각합니다 🙂

감사합니다.

ON을 명시하지 않았을 경우 질문드립니다.

0

56

1

강의 2:53 union을썼는데도 션이 중복

0

57

1

where 대신 having을 써도 되나요?

0

79

1

주문 내역에 대한 고객 데이터

0

60

2

in 수행

0

43

1

외부조인1 강의 관련 질문

0

71

3

커버링 인덱스와 랜덤i/o 질문

0

68

1

오타인거죠?

0

76

1

섹션 3 퀴즈 3번 문제

0

73

2

GROUP BY 기준 컬럼

0

84

1

질문이 있습니다

0

54

1

오타

0

76

2

실제 상용 서비스 질문

0

97

1

파티셔닝 관련 질문입니다.

0

57

1

join 문제 풀이2 문제1(self join) 질문

0

64

1

9. 인덱스2.pdf 중에서

0

77

1

문제 2번

0

66

2

문제와 풀이1 - 3번 문제

-1

70

2

잘 사용하진 않지만 풀 외부 조인을 사용하신 사례가 궁금합니다!

0

91

1

[58. 인덱스와 정렬]을 듣다가 질문입니다.

0

93

2

두개 이상의 테이블을 조인할때 인덱스 질문이 있습니다.

0

59

1

파일을 만드는 단위가 궁금해요

0

70

1

MySQL은 실무에서 사용하는 케이스도 있을까요?

0

80

1

인덱스 설계와 실제 운영의 관계

0

68

1