Open utterances-bot opened 2 years ago
N+1 쿼리 문제 관련해서 좋은 글 작성해주셔서 감사합니다! ORM을 사용할 때 주의해야 하는 부분이라고만 이야기를 들었지 사실 한 번도 제대로 발생하는 원인과 이를 해결할 방법에 관해서 고민해 본 적이 없었네요 😂
작성해주신 지연 로딩(Lazy Loading) 때문에 N+1 쿼리 문제가 발생하고 이를 해결하기 위해 즉시 로딩(Eager Loading)을 사용하면 된다는 걸 처음 알게 되었습니다. Django에서 selected_related
및 prefetch_related
를 사용하는 게 N+1 쿼리 문제를 해결하기 위한 즉시 로딩 기업이었다는 걸 이번 글을 통해 알게 되었네요!
한 가지 아쉬운 건 실제로 지연 로딩 때문에 N+1 쿼리문이 발생하는 사례와 Rails에서 include
메서드를 통해 이를 해결하여 쿼리문을 N+1회 날리지 않는 사례를 보여주셨으면 더 좋았을 것 같아요. 단순히 글로만 풀어져 있어서 살짝 아쉬웠습니다.
이번 한 주도 고생 많으셨습니다! 데이터베이스는 알면 알수록 어렵네요 😂
@0417taehyun 피드백 감사합니다 태현님! 실제 코드와 함께 알아봤으면 더 좋았을텐데 말이죠 ㅠㅠ 시간관계상 코드를 생략해버렸네요 ..ㅎㅎ 기회가 되면 코드로 확인하는 부분을 다뤄볼게요!
N+1 쿼리 문제 - TWIL
N+1 쿼리 문제
https://twil.weekwith.me/4%EA%B8%B0/%EC%84%B1%EC%8A%B9%EC%9D%B5/2022-01-16-N%2B1-query-problem/