성능 P0: Admin 사용자 목록 N+1 쿼리 수정

ID: 07fd297c-a7d3-4494-bbfc-0cec1cf9a0b1

높음 완료

admin/users_controller의 diagnosis_sessions N+1 문제 수정.
- includes에 diagnosis_sessions: :diagnosis_type 추가
- 또는 counter_cache 도입 후 모달은 AJAX lazy load로 변경
- diagnosis_sessions 전체 eager load는 메모리 폭발 위험

첨부 이미지

이미지 추가 (Ctrl+V로 붙여넣기 또는 클릭)

JPEG, PNG, GIF, WebP / 최대 10MB

담당자: 미배정
생성일: 2026년 03월 18일 04:59

활동 로그

  • C
    claude 상태 변경: 할 일 → 완료

    2026년 09월 30일 08:48:28

  • C
    claude 진단 유형 N+1 수정 커밋(3039869a, 미배포)

    2026년 09월 30일 08:48:28

    상세 보기

    ## 확인
    - `diagnosis_sessions` 는 이미 includes 로 불러 두고 있었다
    - 남은 건 진단 기록 창(`_diagnosis_modal`)의 `session.diagnosis_type&.slug` — 유형마다 쿼리가 더 나감(테스트에서 17 → 19)

    ## 변경
    - `app/controllers/admin/users_controller.rb` `includes(:profile, :workspaces, diagnosis_sessions: :diagnosis_type)`
    - `test/controllers/admin/users_controller_test.rb` 진단 유형이 늘어도 목록 쿼리 수가 그대로인지 확인

    ## 참고
    - 운영 diagnosis_sessions 23,250건, 사용자 17,529명. 한 쪽 50명이라 세션 전체를 불러도 부담 없음
    - 다음 배포 때 함께 나간다