문서의 이전 판입니다!
3.2.1. 스캔(Scan)의 기본유형
3.2.1.1. 전체테이블 스캔
3.2.1.1. 전체테이블 스캔
HIGH WATER MARK내에 있는 모든 블록을 스캔
대용량 일수록 전략적으로 사용하면 인덱스 스캔에 비하여 좋은 효율을 나타낼 수 있음(손익 분기점)
멀티 블록 I/O
DB_FILE_MULTIBLOCK_READ_COUNT 파라미터 사용
옵티마이져의 전체 테이블 스캔 선택 사유
적용가능 인덱스의 부재
넒은 범위의 데이터 액세스
소량의 테이블 액세스
병렬처리 액세스
3.2.1.2. ROWID 스캔
3.2.1.3. 인덱스 스캔
ex)
SELECT * FROM TAB1
WHERE COL1 = ‘A’
ex)
SELECT * FROM TAB1
WHERE COL2 BETWEEN 100 AND 110
ex)
SELECT COL2 FROM TAB1
WHERE COL2 BETWEEN 100 AND 110
ORDER BY COL1 DESC
라)인덱스 스킵 스캔(Index Skip Scan)
ORACLE 9i부터 적용
Cardinality가 낮은 선행 컬럼 + 높은 후행칼럼으로 구성된 인덱스일수록 큰 효과
내부적으로 선행 컬럼 값의 Distinct Value 만큼의 Logical Sub-Index로 나눠서 SCAN한다.
Analyze 되어있는 오브젝트에 적용된다.
마)인덱스 전체 스캔(Index Full Scan)
바)인덱스 고속 전체 스캔(Index Fast Full Scans)
3.2.1.4. B-Tree 클러스터 액세스(Cluster access)
3.2.1.5. 해쉬 클러스터 액세스(Hash cluster access
3.2.1.6. 표본 테이블 액세스(Sample table scan