SQLP
시험 직전 요약장
판단 기준과 헷갈리는 개념, 대표 예제를 짧게 확인하세요.
옵티마이저 힌트 사용법: 문법·적용 범위·검증
원래 이론 →판단 기준
표를 좌우로 밀어 나머지 열을 확인하세요. 키보드: ←·→, Home·End
| 혼동하기 쉬운 판단 | 정확한 기준 |
|---|---|
| Hint 주석을 넣으면 반드시 적용된다 | 문법·Alias·Query Block·실행 가능성을 확인하고 Hint Usage Report로 검증한다 |
| 한 Statement Block에 Hint 주석을 여러 개 작성한다 | 하나의 Hint 주석 안에 여러 Hint를 공백으로 구분한다 |
| 테이블명과 Alias 중 아무 이름이나 사용해도 된다 | SQL에서 Alias를 사용했다면 Hint도 Alias를 사용한다 |
QB_NAME을 지정하면 Transformation이 중단된다 | Query Block을 식별하는 이름이며 Transformation 제어 Hint와는 별개다 |
USE_NL(e)만 쓰면 Join Order와 관계없이 적용된다 | E가 Inner Row Source가 될 수 있는 Join Order인지 확인한다 |
GATHER_PLAN_STATISTICS는 특정 Access Path를 강제한다 | 실행 통계를 수집하기 위한 진단 목적의 Hint다 |
| SQL Profile이 특정 계획을 고정한다 | 보조 통계로 비용 추정을 보정하며 Plan Baseline과 역할이 다르다 |
| EXPLAIN PLAN에서 적용되었으면 실제 실행도 동일하다 | 실제 SQL ID·Child Cursor와 Session 환경의 Cursor Plan을 확인한다 |
ALLSTATS LAST를 쓰면 항상 실제 통계가 표시된다 | 실행 전에 Plan Statistics가 수집되어 있어야 한다 |
| Hint로 Cost가 낮아지면 튜닝이 완료된다 | 실제 Rows·I/O·응답시간·결과 정합성과 회귀 영향을 측정한다 |
헷갈리는 개념
EXPLAIN PLAN은 SQL을 실제로 끝까지 실행하지 않고 예상 계획을 Plan Table에 저장합니다.
다음 요소가 운영 실행과 달라질 수 있습니다.
- 실제 Bind 값과 Bind Type
- 실제 사용된 Child Cursor
- Session Parameter
- Adaptive 기능의 최종 선택
- 실행 통계
- 현재 Cursor에 연결된 계획 관리 정보
따라서 Hint 문법과 후보 계획을 빠르게 확인할 때 EXPLAIN PLAN을 사용할 수 있지만, 최종 검증은 실제 실행된 Cursor를 DBMS_XPLAN.DISPLAY_CURSOR로 확인하는 것이 더 적합합니다.
내 최근 연습 오답
현재 브라우저의 연습 채점 기록에서 공개된 단원과 연결된 오답을 확인합니다.
오답 기록을 확인하고 있습니다.