제1장. 부분범위처리(Partial range scan)
2010.11.30 21:37
1.1 부분범위 처리의 개념
ㅁ 부분범위 처리란 조건을 만족하는 전체범위를 처리하는 것이 아니라 일단 운반단위(Array Size) 까지만 처리 하여
추출하는 처리방식.
ㅁ 처리 범위가 넓더라도 빠른 속도를 얻도록 하기 위함.
ㅁ 일부분만 처리하고서도 Optimizer의 특성을 이용하여 정확한 결과 도출.
ㅁ 부분범위 처리의 개념 -조건에 맞는 Data가 많을 수록 Array Size는 빨리 찰 확률이 높다. -Array Size에 빨리 차기만 하면 DB는 바로 보내준다.
ㅁ 전체범위 처리 : 조건이 Table의 전체를 읽어야만 결과가 나옴 ㅁ 부분범위 처리 : 조건이 일부분만 Access하고도 운반단위로 넘길수 있음.
*실행계획에서 Sort가 나오면 전체범위 처리를 함. 1.2 부분범위 처리의 적용원칙
논리적으로 보았을 때 반드시 전체범위를 읽어서 가공을 해야만 하는 경우를 제외한 모든 형태에서 가능합니다.
(Index의 Access 순서와 Order by 순서가 동일 함으로 Optimizer는 Order by를 무시하고 Index로 처리하여 결과를 부분범위 Return)
Union : 중복을 제거 하므로 전체범위 처리 UnionAll : 중복을 확인 하지 않으므로 부분범위 처리
1.2.2. Optimizer Mode에 따른 부분범위처리
Select ord_dept,ordqty From order Where ord_dept > ‘1000’;
논리적으로 부분범위 처리가 가능하나 Optimizer Goal이 ‘All_Rows’라면?
1.3. 부분범위처리의 수행속도 향상원리 Ⅰ
Select * from order; ->부분범위 처리 되므로 빠름
Select * from order Order by item; ->정렬작업을 위해 전체 범위를 모두 처리함으로 느림.
Item에 Index가 있다면? Select * from order Where item >’’;
Select /*+ index(order item_index) */ * From order Where item > ’’;
1.3. 부분범위처리의 수행속도 향상원리 Ⅱ
Select * From order Where ordno between 1 and 1000 And custno like ‘DN%’;
조건: Order Table에는 Ordno 조건을 만족하는 Row가 1000건 Custno를 만족하는 Row가 10건이고 각각 별도의 Index가 생성되어 있다.
-운반단위를 채우기 위해서는 최악의 경우 1000건을 다 뒤져봐야 알 수 있다. page 421 그림 2) Custno Index를 사용한 경우 로우가 10건이므로 10회만 처리하면 됨. 만족하는 조건도 1000건으로 많음. page 422 그림
1.3. 부분범위처리의 수행속도 향상원리 Ⅲ
Ordno 실행계획
Custno 실행계획
댓글 0
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
15 | 제4장. 인덱스 수립 전략 | 노랑배 | 2010.11.12 | 7800 |
14 |
4.1. 인덱스의 선정 기준 (2/2) (4.1.6.)
[1] ![]() | 실천하자 | 2010.11.15 | 16851 |
13 |
4.2. 클러스터링 형태의 결정 기준
![]() | pranludi | 2010.11.25 | 8480 |
12 |
1.4. 부분범위처리로의 유도(1/2) (1.4.1 ~ 1.4.8)
![]() | 실천하자 | 2010.11.26 | 19391 |
» |
제1장. 부분범위처리(Partial range scan)
![]() | supersally | 2010.11.30 | 12378 |
10 |
2.2.연결고리 상태가 조인에 미치는 영향
![]() | 노랑배 | 2010.12.03 | 9182 |
9 |
2.3.조인 종류별 특징 및 활용방안 (2/4) (2.3.2~2.3.3)
![]() | 실천하자 | 2010.12.03 | 12591 |
8 |
2.3.조인 종류별 특징 및 활용방안 (1/4) (2.3.1)
![]() | 노랑배 | 2010.12.04 | 9506 |
7 | 1.4.9. 웹 게시판에서의 부분범위 처리 | pranludi | 2010.12.04 | 6803 |
6 | 제2장. 조인의 최적화 방안 | pranludi | 2010.12.04 | 6606 |
5 | 2.1.조인과 반복연결(loop query)의 비교 | pranludi | 2010.12.04 | 11487 |
4 | 2.3.4. 해쉬(Hash) 조인 / 2.3.5. 세미(Semi) 조인 | pranludi | 2010.12.04 | 8641 |
3 | 1.4. 부분범위처리로의 유도(1/2) (1.4.9) | 실천하자 | 2010.12.07 | 14463 |
2 | 2.3.조인 종류별 특징 및 활용방안 (3/4) (2.3.4~2.3.5) | 실천하자 | 2010.12.07 | 15375 |
1 | 진행기록 | 운영자 | 2011.08.22 | 3588 |