SQLP
시험 직전 요약장
판단 기준과 헷갈리는 개념, 대표 예제를 짧게 확인하세요.
Index Join과 Bitmap Conversion: 여러 인덱스의 ROWID 결합
원래 이론 →판단 기준
예시·텍스트좌우로 이동해 전체 내용을 확인하세요. 키보드: ←·→, Home·End
1. WHERE·JOIN·SELECT·ORDER BY Column을 분류한다.
2. 기존 Index별 제공 Column·ROWID·크기를 확인한다.
3. 가장 선택적인 단일 Index + Table Access를 계산한다.
4. Index Join이 Query 전체를 Cover하는지 확인한다.
5. Bitmap AND·OR 후 후보 감소율을 예상한다.
6. 복합 Index·Full Scan·OR Expansion을 비교한다.
7. ALLSTATS LAST로 Index·Hash·Bitmap·Table 비용을 측정한다.
8. Workarea·TEMP·동시 Session의 PGA를 확인한다.
9. 신규 Index의 DML·Redo·공간과 다른 SQL 회귀를 측정한다.
10. 동일 Bind·Fetch·동시성에서 최저 전체 Workload 비용을 선택한다.
헷갈리는 개념
표를 좌우로 밀어 나머지 열을 확인하세요. 키보드: ←·→, Home·End
| 기준 | Index Join | Bitmap Conversion |
|---|---|---|
| 결합 방식 | ROWID Hash Join | Bitmap Boolean 연산 |
| 주요 목적 | 여러 Index로 Query Cover | 후보 ROWID 집합 축소 |
| Table Access | 공식 정의상 항상 제거 | 필요 Column에 따라 발생 |
| 대표 Plan | VIEW index$_join$ + HASH JOIN | BITMAP CONVERSION FROM/TO ROWIDS |
| 주요 자원 | Index Scan·PGA Hash·TEMP | Index Scan·Bitmap CPU·Memory·ROWID 변환 |
| AND 조건 | ROWID Hash Join 교집합 | BITMAP AND |
| OR 조건 | 일반적인 Index Join 목적과 다름 | BITMAP OR에 자연스러움 |
| 대안 | Wide Covering Index·단일 Index | 복합 Index·OR Expansion·Full Scan |
Index Join은 여러 Index Column을 조합해 Projection까지 완성하고, Bitmap Conversion은 집합 조건을 조합해 후보를 줄이는 데 초점을 둡니다.
대표 계산·예제
Oracle의 Index Join Scan은 같은 Table의 여러 Index를 읽고, 얻은 ROWID를 Hash Join하여 Query가 요청한 모든 Column을 반환하는 Access Path입니다.
예시·텍스트좌우로 이동해 전체 내용을 확인하세요. 키보드: ←·→, Home·End
VIEW index$_join$_001
HASH JOIN
INDEX RANGE SCAN CUSTOMER_REGION_IX
INDEX RANGE SCAN CUSTOMER_GRADE_IX
핵심 결합 Key입니다.
예시·텍스트좌우로 이동해 전체 내용을 확인하세요. 키보드: ←·→, Home·End
ROWID = ROWID
업무 Column customer_id가 두 Index에 존재하더라도, 같은 물리 Table Row를 식별하는 내부 Join 기준은 ROWID입니다.
내 최근 연습 오답
현재 브라우저의 연습 채점 기록에서 공개된 단원과 연결된 오답을 확인합니다.
오답 기록을 확인하고 있습니다.