SQLP

시험 직전 요약장

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

이론 목록

Clustering Factor 이해: 인덱스 순서와 Table Block 배치

원래 이론 →

판단 기준

혼동정확한 기준
CF는 Index Leaf 정렬 상태다Index Key 순서와 Heap Table Block 배치 관계다
CF가 낮으면 모든 SQL이 빨라진다많은 ROWID Table Access가 있을 때 영향이 크다
CF는 Table당 하나다각 B-tree Index마다 다르다
CF는 실제 SQL의 정확한 Block 수다전체 배치를 요약한 거친 비용 통계다
Index Rebuild로 CF가 개선된다Heap Table 배치가 바뀌지 않아 근본 원인은 유지된다
CF가 높으면 Index를 삭제해야 한다선택도·Covering·SQL 빈도와 실제 Runtime을 본다
CF가 낮으면 Full Scan은 선택되지 않는다결과 비율·Table 크기·Parallel 비용에 따라 달라진다
Table 재배치는 모든 Index를 개선한다한 Index 개선이 다른 Index를 악화시킬 수 있다
전체 CF만 보면 Partition SQL도 충분하다대상 Partition 통계와 Pruning을 확인한다
Cache Hit이면 CF 영향이 없다Physical Read가 없어도 Logical I/O·CPU·Block 재방문은 남는다

이 부분의 원문 →

헷갈리는 개념

다음 통계를 가정합니다.

예시·텍스트
Table Rows   = 1,000,000
Table Blocks =    50,000

INDEX_A CF   =    62,000
INDEX_B CF   =   930,000
이 부분의 원문 →

대표 계산·예제

Oracle은 통계 수집 시 B-tree Entry를 Key 순서로 따라가며 ROWID가 가리키는 Table Block의 연속성을 통계화합니다.

단순 예입니다.

예시·텍스트
Index Entry  Table Block
K1           B10
K2           B10
K3           B10
K4           B11
K5           B11
K6           B20

개념적 Block 흐름입니다.

도식
B10 → B10 → B10 → B11 → B11 → B20
  • 같은 Block이 연속되면 CF는 낮은 방향
  • Entry마다 Block이 자주 바뀌면 CF는 높은 방향

이 설명은 이해를 위한 단순화입니다. CF는 특정 SQL의 실제 Block 방문 수를 직접 저장한 값이 아니라 전체 Index와 Table 배치 관계를 요약한 Optimizer Statistics입니다.


이 부분의 원문 →

내 최근 연습 오답

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

학습 기록 →

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