SQLP
시험 직전 요약장
판단 기준과 헷갈리는 개념, 대표 예제를 짧게 확인하세요.
ROWID Batching과 결과 순서: TABLE ACCESS BY INDEX ROWID BATCHED
원래 이론 →판단 기준
표를 좌우로 밀어 나머지 열을 확인하세요. 키보드: ←·→, Home·End
| 혼동 | 정확한 기준 |
|---|---|
| BATCHED는 후보 ROWID를 줄인다 | 후보의 Block 접근 순서를 개선하려는 방식이다 |
| BATCHED는 Table Access를 제거한다 | Table Access 자체는 계속 수행된다 |
| BATCHED는 Multiblock Read다 | Operation 이름만으로 I/O 요청 단위를 단정하지 않는다 |
| Index가 정렬돼 있으면 ORDER BY가 없어도 순서가 보장된다 | SQL 순서는 ORDER BY로 정의한다 |
| Sort가 나타나면 무조건 나쁜 Plan이다 | BATCHED로 절감한 Table I/O와 Sort 비용을 합산한다 |
| BATCHED가 보이면 CF가 반드시 나쁘다 | 후보 수·Sort·비용 전체의 결과다 |
| INDEX_DESC+ROWNUM이면 최신 N건이 보장된다 | ORDER BY와 동률 해소 Column이 필요하다 |
| Starts=1이면 ROWID Access가 한 번이다 | Row Source 시작 횟수일 뿐 후보 수가 아니다 |
| Covering이면 항상 최적이다 | 넓은 Index의 Scan·DML·공간을 비교한다 |
| 한 번 빠르면 운영에서도 항상 빠르다 | Bind·Fetch·동시성·Cache 조건을 반복 검증한다 |
헷갈리는 개념
예시·텍스트좌우로 이동해 전체 내용을 확인하세요. 키보드: ←·→, Home·End
BATCHED + Sort
Table 방문 절감
+ Sort 비용
Ordered Index Path
Sort 제거
+ Table Block 재접근 가능성
Plan 이름만으로 결론 내리지 않고 실제 사용자 목표와 통계로 비교합니다.
대표 계산·예제
Oracle 공식 문서는 BATCHED를 다음처럼 설명합니다.
예시·텍스트좌우로 이동해 전체 내용을 확인하세요. 키보드: ←·→, Home·End
Database가 Index에서 일부 ROWID를 가져오고,
Clustering을 개선하며 같은 Block 접근 횟수를 줄이기 위해
Block 순서로 Row에 접근하려고 시도한다.
개념적 예입니다.
도식좌우로 이동해 전체 내용을 확인하세요. 키보드: ←·→, Home·End
가져온 ROWID Batch
A → Block 100
B → Block 205
C → Block 100
D → Block 310
E → Block 205
접근 시도입니다.
도식좌우로 이동해 전체 내용을 확인하세요. 키보드: ←·→, Home·End
Block 100 → A, C
Block 205 → B, E
Block 310 → D
이를 통해 같은 Block을 다시 찾는 횟수를 줄일 수 있습니다.
내 최근 연습 오답
현재 브라우저의 연습 채점 기록에서 공개된 단원과 연결된 오답을 확인합니다.
오답 기록을 확인하고 있습니다.