where
에 등급 조건 넣고 count()
(단건 카운트)findMany
+ reduce
(JS에서 그룹화)$queryRaw
(SQL 직접 작성)📌 정리
// 현재 gradeCount 계산은 Prisma groupBy가 아닌 등급별 count()를 개별 호출하는 방식 사용
// - 이유: Prisma groupBy는 relation 필드(photoCard.grade) 기준으로 그룹핑 불가
// - 따라서 grade별로 WHERE 조건을 달아 count()를 4번 호출
// - 데이터량이 많지 않거나 호출 빈도가 낮은 경우 성능 문제 없음
// - 장점: Prisma 순수 문법만 사용하므로 타입 안전성 100%, 구현 단순
// - 단점: 등급이 많아지면 쿼리 호출 수도 비례해 증가
// 향후 성능 이슈 발생 시:
// 1) $queryRaw를 사용해 JOIN + GROUP BY로 한 번에 집계 (o)