Leo와 Patrick의 의견이 달랐던 것으로 판단된다...
새로운 기획의도
기존 기획과의 차이점
최종적으로 정리하면 아래와 같다.
기존 기획의도 | 새로운 기획 |
---|---|
랜덤 미적용 | 랜덤 적용 |
테이블 전체에서 is_active만 가져오기 | 테이블 전체에서 is_active를 가져오고 그 중 10명만 |
기존의 쿼리 필터링
UerPopChar.objects.filter(is_active=True)
수정된 쿼리 필터링
먼저 사용자가 지루하지 않게 랜덤하게 정렬하는 것이 중요하다.
UerPopChar.objects.filter(is_active=True) \\
.order_by("?")[:10]
서비스가 유료화 되기 시작하면서 인기 사용자의 레이블을 걸어서 보다 쉽게 인기 유저 노출을 쉽게 관리하기 위한 시스템이 필요하게 될 수도 있다고 한다.
<aside> 💡 UserPopChart에서 User와 연관을 시켜서 데이터를 직렬화 하는 과정에서 API의 호출에 6초가 소요되었다. 간단한 유저 탐색에 있어서 시간이 너무 많이 소요되는 것으로 판단하여 최적화가 필요하다고 생각되었다.
</aside>
‣
위의 내용을 바탕으로 현재는 무리없이 조회가 가능해졌다.