SQLP
시험 직전 요약장
판단 기준과 헷갈리는 개념, 대표 예제를 짧게 확인하세요.
CBO의 판단 과정: Query Transformer·Estimator·Plan Generator
원래 이론 →판단 기준
CBO의 판단 과정은 다음과 같이 연결됩니다.
예시·텍스트좌우로 이동해 전체 내용을 확인하세요. 키보드: ←·→, Home·End
1. Parsed Query를 Query Block 단위로 인식한다.
2. Query Transformer가 의미가 같은 다른 내부 표현을 검토한다.
3. 각 Transformation과 실행계획 후보에 대해 Selectivity와 Cardinality를 추정한다.
4. Access Path·Join Order·Join Method 등의 후보 Cost를 계산한다.
5. Plan Generator가 현재까지의 유리한 후보를 중심으로 탐색 범위를 줄여 간다.
6. 현재 Optimizer Goal과 환경에서 가장 낮은 Cost의 계획을 선택한다.
이 흐름은 각 구성요소가 한 번씩만 동작하는 단순한 직선 과정으로만 보면 안 됩니다. Transformation 후보와 실행계획 후보를 비교하는 동안 추정과 Cost 계산이 반복될 수 있습니다.
헷갈리는 개념
CBO는 단순히 하나의 고정된 목표만 사용하는 것이 아닙니다. OPTIMIZER_MODE에 따라 전체 처리량 또는 초기 응답시간을 우선할 수 있습니다.
표를 좌우로 밀어 나머지 열을 확인하세요. 키보드: ←·→, Home·End
| Optimizer Mode | 기본 목표 |
|---|---|
ALL_ROWS | 전체 결과 처리를 완료하는 데 필요한 자원 사용량과 처리량 최적화 |
FIRST_ROWS_n | 처음 n개 행을 빠르게 반환하는 응답시간 최적화 |
FIRST_ROWS | 하위 호환을 위한 Cost와 Heuristic 혼합 방식 |
현재 기본값은 ALL_ROWS이며, FIRST_ROWS_n도 비용 기반 접근을 사용합니다.
따라서 다음 표현이 가장 정확합니다.
예시·텍스트좌우로 이동해 전체 내용을 확인하세요. 키보드: ←·→, Home·End
CBO는 현재 Optimizer Goal과 환경에서
검토한 후보 중 Cost가 가장 낮은 계획을 선택한다.
같은 SQL이라도 전체 처리량을 우선할 때와 첫 행 응답을 우선할 때 유리한 Access Path와 Join Method가 달라질 수 있습니다.
대표 계산·예제
예를 들어 다음 EXISTS Subquery는 조건과 제약을 만족하면 Semi Join 형태의 후보로 검토될 수 있습니다.
내 최근 연습 오답
현재 브라우저의 연습 채점 기록에서 공개된 단원과 연결된 오답을 확인합니다.
오답 기록을 확인하고 있습니다.