=== 운영 DB 사전 측정 결과 (2026-09-15) ===

1. 테이블 크기 (premeasure_table_sizes.txt)
   - best_record data_mb: 72.5
   - best_record index_mb: 72.1
   - best_record 행 수: 약 1,152,399 (information_schema 추정치) / 월별 합계 1,210,482
   - typing_exam_record data_mb: 10.3
   - typing_exam_record index_mb: 10.9

2. 월별 적재량 (premeasure_monthly_load.txt)
   - 최근 1개월 (2026-08): 51,991 행
   - 2026-09 (15일까지): 39,366 행
   - 최근 3개월 평균 (2026-06~08): 57,968 행/월
   - 전년 같은 기간 평균 (2025-06~08): 27,049 행/월 → 약 2.1배 증가

3. 테스트용 선생님·앱 (premeasure_top_maestro_app.txt)
   - MaestroID: 181
   - AppID: 21
   - 30일 기록 수: 1,089

4. 일간 랭킹 EXPLAIN (premeasure_explain_daily_ranking.json)
   - access_type: index_merge (예상했던 ALL 아님)
   - key: MaestroID ∩ AppID (기존 단일 인덱스 2개의 교집합)
   - rows: 10,100 (예상했던 1,206,768 아님)
   - 날짜 조건(YEAR/MONTH/DAYOFMONTH)은 인덱스로 거르지 못하고 10,100행을 하나씩 확인
   - 참고: 원본 출력은 헤더와 \n 이스케이프 때문에 JSON이 아니었음 → 내용 변경 없이 JSON으로 복원

5. 최고기록 테이블 중복 (premeasure_*_duplicates.txt, premeasure_app_highest_dup_count.txt)
   - app_highest_record 중복: 4,823 조합 / 삭제 대상 8,795 행
     · 테이블 약 229,459행(추정치)의 약 3.8%
     · 상위 10개 조합은 각 17~33행
     · 03-0-1에서 작업 당일 다시 세어 비교 (그 사이 조금 늘어날 수 있음)
   - typing_exam_highest_record 중복: 0 건 (빈 파일 = 조회 결과 없음)

6. 계정 권한 (premeasure_grants.txt)
   - jisangs@182.217.174.221: SELECT, ALTER ON chocomae.* 만 있음
   - 2026-09-15 임시 부여 후 (premeasure_grants_after.txt):
     + SUPER ON *.*
     + INSERT, DELETE ON chocomae.app_highest_record, chocomae.typing_exam_highest_record
     + SELECT ON mysql.slow_log
     → 05단계에서 회수 (slow log 복원 후)
   - 원래 권한으로 할 수 없던 작업:
     · 02-1 slow query log 변경 (SET GLOBAL → SUPER)
     · 03-0-3 중복 삭제 (DELETE)
     · 04-5, 07 mysql.slow_log 조회 (SELECT ON mysql.slow_log)
     · 05 slow query log 복원 (SET GLOBAL)
     · 06 삭제 행 복원 (INSERT) → 임시 부여됨
     · 06 ANALYZE TABLE best_record (best_record INSERT 필요, 부여 안 함) → 관리자 계정

7. Slow query log 원래 설정 (premeasure_slow_log_settings.txt) — 05단계 복원 기준값
   - slow_query_log: ON
   - long_query_time: 3
   - log_output: FILE
   - log_queries_not_using_indexes: OFF
   - slow_query_log_file: /var/log/mysql/mariadb-slow.log
   - 이전 문서의 1-4 SET GLOBAL은 적용되지 않았음 (SUPER 권한 없음, 적용됐다면 long_query_time=1·log_output=TABLE)

8. 준비 확인
   ☑ 테이블 크기 확인
   ☑ 월별 적재량 확인
   ☑ EXPLAIN 결과 저장
   ☑ 중복 확인 (전체 개수 포함)
   ☑ 계정 권한 확인
   ☑ Slow query log 현재 설정 저장
   ☑ 작업 권한 임시 부여

다음: 02-baseline.md
