SQLP
시험 직전 요약장
판단 기준과 헷갈리는 개념, 대표 예제를 짧게 확인하세요.
Selectivity·Cardinality·Cost: 통계 추정과 Plan 선택 진단
원래 이론 →판단 기준
표를 좌우로 밀어 나머지 열을 확인하세요. 키보드: ←·→, Home·End
| 혼동하기 쉬운 판단 | 정확한 해석 |
|---|---|
| Selectivity가 높으면 좋은 조건이다 | 수치가 크면 많은 Row를 선택한다. “매우 선택적”이라는 표현과 구분한다 |
| Cardinality는 Table 총 Row 수다 | 실행계획의 각 Row Source가 반환할 예상 Row 수다 |
등치 조건은 항상 1/NDV다 | Histogram·NULL·Bind·상관관계·표현식에 따라 달라진다 |
| 두 Predicate의 Selectivity는 항상 곱한다 | 독립성 가정일 뿐이며 상관관계가 강하면 큰 오차가 생긴다 |
| Cost가 가장 낮으니 실제로도 반드시 가장 빠르다 | Cost는 예상 통계 기반 비교값이며 실제 자원 사용을 검증해야 한다 |
| E-Rows와 A-Rows만 바로 비교하면 된다 | 반복 Operation은 Starts를 반영해 단위를 맞춘다 |
| 최종 Row 수가 맞으면 중간 추정은 중요하지 않다 | 중간 Cardinality가 Join·Sort·메모리·Access Path 선택을 결정한다 |
| Selectivity는 실행계획에 그대로 표시된다 | 내부 계산이며 Plan에는 예상 Cardinality가 표시된다 |
| Histogram은 모든 Column에 많을수록 좋다 | 편중·사용 Predicate에 필요한 Column에 선택적으로 관리 |
| Dynamic Statistics가 영구 통계를 대체한다 | Parse 시 Sample로 Persistent Statistics를 보완 |
| Column Group은 각 Column Histogram과 같다 | Column 조합의 상관관계를 하나의 통계 단위로 표현 |
| Statistics Feedback이 첫 실행을 개선한다 | 실제 오차를 관찰한 후 후속 실행 재최적화에 사용 |
| E-Rows가 낮으면 Index가 반드시 빠르다 | Clustering Factor·반복 Starts·Table Access 비용을 함께 본다 |
| Join NDV만 알면 Fan-out을 정확히 안다 | 값별 중복 편중과 Constraint·NULL·상관관계도 필요 |
헷갈리는 개념
반복 Operation에서는 비교 단위를 맞춰야 합니다.
예시·텍스트좌우로 이동해 전체 내용을 확인하세요. 키보드: ←·→, Home·End
E-Rows = 해당 Operation의 예상 Row, 반복 Row Source에서는 보통 Start당 해석
Starts = 해당 Row Source가 실제 시작된 횟수
A-Rows = 표시된 실행에서 실제 반환한 누적 Row
개념적으로 다음 두 방법 중 하나를 사용합니다.
예시·텍스트좌우로 이동해 전체 내용을 확인하세요. 키보드: ←·→, Home·End
예상 총 Row ≈ E-Rows × Starts
실제 총 Row = A-Rows
또는
예시·텍스트좌우로 이동해 전체 내용을 확인하세요. 키보드: ←·→, Home·End
예상 1회당 Row = E-Rows
실제 1회당 Row ≈ A-Rows ÷ Starts
예시:
예시·텍스트좌우로 이동해 전체 내용을 확인하세요. 키보드: ←·→, Home·End
| Operation | Starts | E-Rows | A-Rows |
|-----------------------|--------|--------|--------|
| INDEX RANGE SCAN | 1,000 | 1 | 50,000 |
예시·텍스트좌우로 이동해 전체 내용을 확인하세요. 키보드: ←·→, Home·End
예상 총 Row = 1 × 1,000 = 1,000
실제 총 Row = 50,000
실제 1회 평균 = 50,000 ÷ 1,000 = 50
Inner Index Probe가 한 번당 1건이라고 예상했지만 실제로는 평균 50건을 반환한 것입니다. 이 오차가 NL Join 반복 비용을 크게 늘릴 수 있습니다.
Starts=0인 비선택 Adaptive Branch나 실행되지 않은 Operation은 E-Rows가 있어도 실제 작업하지 않았을 수 있습니다. 반대로 일부 Row만 Fetch했다면 Starts·
대표 계산·예제
예를 들어 1,000,000행 중 10,000행을 선택할 것으로 예상한다면 다음과 같습니다.
내 최근 연습 오답
현재 브라우저의 연습 채점 기록에서 공개된 단원과 연결된 오답을 확인합니다.
오답 기록을 확인하고 있습니다.