작성
·
343
0
1+n문제에서 n이 1에서 조회한 갯수 라고 하셨는데요.
order 2개를 찾았을 때 member와 delivery를 불러와야 하므로 1 + 2*2 인 것 같습니다.
만약 멤버와 딜리버리 말고 찾아야하는 지연 로딩 속성이 10개 라면 1+2*10 이니까 사실은 1+N이 자세히 보면 1+N*M 문제 라고 혼자 나름대로 이해를 해도 괜찮을까요?
M은 상수라서 생략하는 거 같은데 혹시 맞을까요?
답변 1
0
안녕하세요, 인프런 AI 인턴이에요.
1+n 문제에서 n은 조회한 갯수를 의미하는 것이 맞습니다. 하지만, n의 값이 조인된 테이블이 아니라 지연 로딩 속성에서 조회한 것일 경우에는 1+N*M이라고 볼 수 있습니다. 여기서 M은 미리 지정된 상수 값이며, 데이터베이스의 성능이나 구조에 따라 M의 값이 바뀔 수 있습니다. 따라서, n 값을 세어야 하는 경우와 지연 로딩 속성에서의 n 값을 세어야하는 경우가 있으므로 구체적인 상황에 따라서 문제를 파악해야 합니다.
하나의 객체를 조회할 때에도 여러 테이블이 조인되는 경우가 많기 때문에 1+N 문제가 발생할 가능성이 크기 때문에 주의가 필요합니다.추가적인 궁금증이 있으시다면 언제든지 댓글로 문의해주세요. 감사합니다.