20분
성능 분석: EXPLAIN & PROFILE
스키마 패턴 & 인덱스
성능 분석: EXPLAIN & PROFILE
Cypher 심화 & 데이터 모델링 > 스키마 패턴 & 인덱스
학습 목표
EXPLAIN으로 실행 계획 확인 PROFILE로 성능 측정 최적화 패턴 적용
쿼리 성능 분석: EXPLAIN & PROFILE
Hook: "이 쿼리가 왜 느린지 모르겠어요"
쿼리가 느릴 때:
- EXPLAIN → 예상 실행 계획 확인
- PROFILE → 실제 실행 결과 + 성능 지표
EXPLAIN: 실행 계획 미리보기
에디터 로딩 중...
실행 계획 읽기
에디터 로딩 중...
PROFILE: 실제 성능 측정
에디터 로딩 중...
핵심 지표
| 지표 | 의미 | 목표 |
|---|---|---|
| db hits | DB 접근 횟수 | 낮을수록 좋음 |
| rows | 처리된 행 수 | 필요한 만큼만 |
| elapsed time | 소요 시간 | 목표 시간 이하 |
에디터 로딩 중...
최적화 패턴
1. 인덱스 활용 확인
에디터 로딩 중...
2. 불필요한 확장 줄이기
에디터 로딩 중...
3. LIMIT 조기 적용
에디터 로딩 중...
실전 예제: 느린 쿼리 최적화
Before (느림)
에디터 로딩 중...
After (빠름)
에디터 로딩 중...
성능 체크리스트
- EXPLAIN으로 실행 계획 확인
- NodeByLabelScan이 있으면 인덱스 필요
- db hits가 예상보다 높으면 쿼리 수정
- 불필요한 관계 확장 제거
- LIMIT, WHERE 조기 적용