django silk로 n+1 problem을 detect 해 봅시다.
이 글에서는 prefetch_related랑 select_related의 차이를 다루지 않습니다. n+1 problem을 silk 분석 툴로 분석해 보는 것이 목표입니다. 먼저, 이런 상황을 생각해 봅시다. Post가 있습니다. 포스트 전체를 긁어오려고 합니다. 그런데, 잘 생각해 보면, 포스트 정보를 긁어오기 위해서, 작성자의 닉네임 등을 긁어올 겁니다. 그러면, Post에는 User 테이블을 참조하는 FK가 들어갈 겁니다. 대략 이런 구조입니다. post는 22k개가 있고, 유저는 3명이 있습니다. index 요청을 날려서, 이 구문들을 수행해 봅시다. 어떻게 될까요? 22k번 만큼의 쿼리가 날라가게 됩니다. N+1 problem이라고 많이 이야기를 하는데요. silk로 해당 request가 수행되었..
웹/장고
2022. 8. 13. 02:47
최근댓글