TIL DAY 37 || Python Django select_related, prefetch_related

TK·2021년 4월 10일
0

TIL

목록 보기
43/55

select_related 와 prefetch_related 를 써서 쿼리 수를 줄여보았다.

BEFORE

AFTER


select_related 쿼리셋 메소드를 사용하여 store 와 one-to-one 관계에 있는
address, category, open_status 를
미리 가져와 python 메모리에 caching 해뒀다.

prefetch_related 를 사용하여 one-to-many 관계에 있는 storeimage_set 을 미리가져와 caching 해두었다.

두 메소드의 차이점은 기준이 되는 Entry object 에서 참조하는 모델이 single object 이냐 multiple object 냐의 차이다.

거의 절반으로 쿼리가 줄었다.
지금은 store object 두개에 대해서 for 문을 돌아서 차이가 별로 안나는 것 처럼 보일 수 있지만, 나중에 10개 100 개에 대해 for 문을 돌면 차이가 매우 크게 날 것이다.

profile
Backend Developer

0개의 댓글