SQLP

시험 직전 요약장

판단 기준과 헷갈리는 개념, 대표 예제를 짧게 확인하세요.

이론 목록

옵티마이저 통계의 기초: Table·Column Statistics 읽기

원래 이론 →

판단 기준

최초 오차 원인확인후보 개선
Row·Block 규모 변화NUM_ROWS, BLOCKS, DMLTable Statistics 재수집
값 편중Histogram·Bind 분포필요한 Column Histogram
Column 상관관계복합 PredicateColumn Group Statistics
함수·표현식Expression PredicateExpression Statistics·FBI
범위 밖 최신값Low/High·Data MaxStatistics Refresh·Partition 전략
Statistics 없음·부족Notes·Dynamic Sampling영구 Statistics 또는 Dynamic 설정
Partition 불일치Global·Partition StatsGranularity·Incremental 운영
SQL 의미·Data TypePredicate·BindSQL·Bind Type 개선

통계를 무조건 전체 재수집하는 대신 필요한 범위를 선택합니다.


이 부분의 원문 →

헷갈리는 개념

혼동정확한 기준
NUM_ROWS는 현재 COUNT(*)다Statistics 수집·유지 시점의 Object Row 통계다
BLOCKS는 Segment 할당 Block이다Optimizer Statistics의 Used Block이며 Segment View와 구분한다
SAMPLE_SIZE가 작으면 무조건 나쁘다AUTO_SAMPLE_SIZE·Algorithm과 필요한 Statistics 종류를 함께 본다
DENSITY는 항상 1/NDV다Histogram이 없을 때 그렇고 Histogram이 있으면 의미가 달라진다
Equality Cardinality는 항상 (Rows-Nulls)/NDV다Oracle의 가장 단순 공식은 Rows/NDV이며 실제 계산은 더 복잡하다
LOW/HIGH가 분포를 모두 설명한다통계상 범위이며 Histogram과 다르다
STALE_STATS=NO면 정확하다변경률 임계치만 통과했으며 편중·상관·범위 밖 문제는 남는다
100% Sample이면 모든 추정이 정확하다상관·표현식·Bind·SQL 구조 문제는 별도다
E-Rows≠A-Rows이면 전체 통계를 재수집한다최초 오차 원인에 맞는 통계를 선택한다
Starts가 커도 E-Rows와 A-Rows를 그대로 비교한다Per-Start 또는 Total 기준을 맞춘다

이 부분의 원문 →

대표 계산·예제

단일 Table·단일 Equality Predicate·Histogram 없음이라는 단순 조건에서 Oracle 문서는 다음 모델을 설명합니다.

예시·텍스트
Selectivity ≈ 1 / NDV
Cardinality ≈ NUM_ROWS / NDV

예시입니다.

예시·텍스트
NUM_ROWS = 1,000,000
NDV      = 4

개념적 Cardinality ≈ 250,000

실제 Optimizer에는 NULL·Density·Bind·Data Type·Histogram·Internal 보정이 추가될 수 있습니다.

이 부분의 원문 →

내 최근 연습 오답

현재 브라우저의 연습 채점 기록에서 공개된 단원과 연결된 오답을 확인합니다.

학습 기록 →

오답 기록을 확인하고 있습니다.