이 글이 답하는 질문
- HANA Plan Visualizer가 Explain Plan과 뭐가 다른가?
- 쿼리가 느릴 때 어느 Operator부터 봐야 하나?
- Estimated vs Actual Row Count 차이가 크면 어떻게 하나?
직접 해보기
1. Plan Visualizer 열기
SAP HANA Database Explorer에서 쿼리를 선택하고 F8 또는 우클릭 → Visualize Plan. Execute 버튼을 눌러야 Actual 데이터가 채워진다.
2. 핵심 지표 3가지
- Execution Time (ms) — Operator별 실제 소비 시간
- Estimated vs Actual Row Count — 크게 다르면 통계 갱신 신호
- Memory Peak (MB) — 과도한 메모리를 먹는 Operator 식별
3. 통계 오래됐을 때
-- Estimated 100건인데 Actual 500,000건이면
UPDATE STATISTICS "SCHEMA"."TABLE_NAME";
-- 이후 Explain Plan 재실행 → Optimizer 경로 변경 확인
4. 병목 패턴 3가지
- Row Store ↔ Column Store Join — 두 스토어가 섞이면 성능 급락, Column Store로 통일
- Unpartitioned Full Scan — 파티션 프루닝 안 되면 전체 스캔, WHERE 절 파티션 컬럼 확인
- Sort + Top-N — ORDER BY + LIMIT 조합에서 Sort가 병목이면 인덱스 추가 검토
삽질 노트
- Estimated Plan만 보고 튜닝하면 실제 실행 경로가 달라 헛수고가 된다. 반드시 Execute 후 Actual 탭 확인.
- Plan Visualizer 색상 코드: 빨간 Operator = 전체 비용 상위 25%. 거기서부터 파고든다.
WITH OVERVIEW없이 EXPLAIN PLAN만 쓰면 바인드 파라미터 반영이 안 돼 예측이 틀린다.
핵심 한 줄
Explain이 아니라 Executed Plan — Actual Row Count로 Optimizer가 틀린 지점을 잡아야 쿼리 튜닝이 된다.
더 파볼 주제
- HANA Update Statistics 자동화 — 갱신 주기 설정
- Calculation View Explain Plan — Modeling 레이어 병목 분석
- Plan Cache 조회 — M_SQL_PLAN_CACHE로 Top SQL 추출
댓글 0
아직 댓글이 없습니다.