QuerySet을 count()로 row를 세는 것과 len()으로 세는 것의 차이 : 장고 성능 튜닝
2020. 12. 5.
최근 받은 코드리뷰 중에 len()으로 row를 얻어오던 것을 count로 변경해달라는 코멘트를 받았다. ORM과 Django 초짜다보니 stackoverflow를 몇 개 뒤져보니 row를 확인하는 것은 왠만하면 count를 이용해서 얻어오는 것을 다들 권장한다. 그렇다면 그 이유가 무엇인지 확인해보자. 현재 내 서비스의 User의 수를 한 번 알아본다고 하자. (유저가 백만, 천만인 곳에서 이런 일을 심심풀이로 하면 회사의 Devops 횽들에게 불려가니 조심한다) qs = User.objects.all() # queryset의 count()를 사용하는 방법이 있다. def user_count_by_count(): return qs.count() # len으로 확인 하는 방법과 def user_count..