SQL 수집
ORM 로깅과 느린 쿼리 로그로 어떤 요청이 DB 시간을 쓰는지 찾는다.
TypeORM 로깅으로 실제 SQL을 확인하고 `EXPLAIN`으로 병목을 찾은 뒤, 인덱스와 JOIN, SELECT 범위를 조정해 다시 측정한다.
ORM 로깅과 느린 쿼리 로그로 어떤 요청이 DB 시간을 쓰는지 찾는다.
`EXPLAIN`으로 인덱스 사용 여부와 스캔 범위, JOIN 순서를 읽는다.
필요한 컬럼만 선택하고, N+1은 명시적 JOIN이나 relations로 줄인다.
변경 전후 응답 시간과 DB 부하를 비교해 실제 개선인지 확인한다.
WHERE와 ORDER BY 컬럼이 반복되면 복합 인덱스를 검토한다.
같은 패턴의 SELECT가 반복되면 JOIN 전략을 명시한다.
화면에 필요한 필드만 가져오면 네트워크와 메모리 비용이 줄어든다.