Skip to main content
Puri 쿼리 빌더를 활용한 효과적인 쿼리 최적화 방법을 다룹니다.

쿼리 성능 기본 원칙

1. 필요한 컬럼만 선택

성능 차이:
  • 네트워크 전송량 감소
  • 메모리 사용량 감소
  • 인덱스 온리 스캔 가능

2. WHERE 절 최적화

3. LIMIT 사용

인덱스 활용

단일 컬럼 인덱스

복합 인덱스

인덱스 효과 확인

JOIN 최적화

INNER JOIN vs LEFT JOIN

JOIN 조건 최적화

집계 쿼리 최적화

COUNT 최적화

GROUP BY 최적화

페이지네이션 최적화

Offset 기반 (작은 데이터셋)

Cursor 기반 (큰 데이터셋)

장점:
  • OFFSET이 커져도 성능 일정
  • 인덱스 스캔만 사용
  • 실시간 데이터 변경에 안정적

서브쿼리 최적화

EXISTS vs IN

서브쿼리 대신 JOIN

배치 처리

대량 조회 최적화

청크 처리

쿼리 캐싱

자주 사용되는 쿼리 캐싱

수동 캐시 관리

실행 계획 분석

EXPLAIN 사용

주요 확인 사항:
  • Seq Scan vs Index Scan
  • 예상 rows vs 실제 rows
  • 실행 시간 (Execution Time)
  • Join 방식 (Nested Loop, Hash Join, Merge Join)

성능 모니터링

쿼리 로깅

느린 쿼리 탐지

Best Practices

1. 인덱스 전략

2. 쿼리 패턴

3. 데이터베이스 설정

성능 체크리스트

쿼리를 작성할 때 확인하세요:
  • 필요한 컬럼만 SELECT
  • WHERE 절에 인덱스 활용
  • LIMIT으로 결과 제한
  • 불필요한 JOIN 제거
  • N+1 문제 확인
  • 서브쿼리 대신 JOIN 고려
  • 집계 함수는 DB에서 처리
  • 대량 처리는 배치로
  • 자주 사용되는 쿼리는 캐싱
  • EXPLAIN으로 실행 계획 확인

관련 문서