FilteredRelation
-
django 에서 select_related, prefetch_related 에서 추가적인 ORM 을 사용하기기술/Django 2021. 9. 24. 19:49
Django 의 ORM 을 사용하면서 select_related, prefetch_related 를 쓸 때 성능상의 이점을 위해 테이블을 복잡하게 다룰 필요가 있을 때가 자주 존재합니다. 그 때 사용하기 유용한 FilteredRelation 과 Prefetch 를 소개하고자 합니다. FilteredRelation FilteredRelation 은 Django ORM 에서 JOIN 절에 추가적인 조건을 줄 수 있는 방법입니다. 만약 OUTER JOIN 하는 테이블의 크기가 크다면 FilteredRelation 을 사용하여 성능을 개선할 수 있습니다. Filter 의 위치 Where vs Join OUTER JOIN 을 사용할 때 Where 절을 사용한다면 OUTER JOIN 을 완성한 다음 필터링을 합니다..