ORACLE DBA LAB / CONTROL ROOM

Web SQL Optimizer Simulator

SQL을 실행하고, 실행계획이 선택되는 이유를 배워보세요.

처음이라면, 이 순서로 시작하세요SQL을 몰라도 준비된 예제로 실습할 수 있습니다.
현재 Worksheet의 SQL을 실행합니다. 아래에서 직접 수정할 수도 있습니다.
  1. 준비된 SQL 실행아래 ‘SQL 실행’을 누르세요. 고객 100번의 주문을 찾는 예제가 입력되어 있습니다.
  2. 계획 선택 과정 관찰‘흐름 보기’에서 Hard Parse와 선택된 계획을 확인하세요. 일시정지와 한 단계로 천천히 볼 수 있습니다.
  3. 결과 읽고 다시 실행E-Rows(예상)와 A-Rows(모델 실행)를 비교하세요. 같은 SQL을 다시 실행하면 재사용 경로를 볼 수 있습니다.

설치나 DB 연결 없이 브라우저에서 진행하는 교육 실습입니다. 실제 데이터를 조회하거나 수정하지 않습니다.

Lab 변경 시 실습 상태가 초기화됩니다.
01 / STATEMENT

SQL 입력 · Worksheet

SQL · Ctrl / ⌘ + Enter
BIND VARIABLES

지원 SQL 범위

FULL · INDEX · USE_NL · USE_HASH · LEADING · NO_MERGE · NO_UNNEST

SQL 실행: 처리 과정과 결과까지 · EXPLAIN PLAN: 예상 계획만 · 새 Hard Parse: 전체 Cache를 비우고 다시 실행

02 / FOLLOW THE STATEMENT

SQL은 어떻게 실행계획이 될까요?

READY

교육용 단순화 흐름입니다. Oracle 내부의 고정된 직렬 실행 순서를 의미하지 않습니다.

처리 단계 · SQL Processing

후보 계획 비교 · Optimizer

WAITING

실행계획 · Row Source Tree

상위 Row Source가 하위에 행을 요청하는 Pull Model입니다. 단순한 위→아래 / 아래→위 순서표가 아닙니다.

REUSE, OR OPTIMIZE AGAIN

Shared Pool / Library Cache

03 / ESTIMATE & OBSERVE

추정과 실행 결과

DBMS_XPLAN 형태의 Text Plan
Advanced DetailStatistics · Query Blocks · Child Cursors

Statistics 실험실

변경한 통계는 새 Hard Parse에 사용됩니다. 이미 저장된 계획은 유지됩니다.

Table / Column / Index 통계

Query Blocks & Transformations

Parent / Child Cursor

Processing Log

SIM Tick · 가상 순서 · 최근 300개 이벤트
사용 가이드 · 교육 모델 · Oracle 19c 참고 문서
DBA LAB / HANDBOOK

SQL Optimizer 사용 가이드

실행 중 가이드를 열면 일시정지됩니다. 닫은 뒤 ‘계속’을 눌러 이어가세요.