사용자 도구

사이트 도구


study:oracle:datadb:3week_1:01

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
study:oracle:datadb:3week_1:01 [2010/05/18 14:41]
upju
study:oracle:datadb:3week_1:01 [2010/05/19 10:52] (현재)
upju
줄 65: 줄 65:
       - 내부적으로 선행 컬럼 값의 Distinct Value 만큼의 Logical Sub-Index로 나눠서 SCAN한다.       - 내부적으로 선행 컬럼 값의 Distinct Value 만큼의 Logical Sub-Index로 나눠서 SCAN한다.
       - Analyze 되어있는 오브젝트에 적용된다.       - Analyze 되어있는 오브젝트에 적용된다.
 +       
 +{{:study:oracle:datadb:3week_1:04실행계획.jpg|}}
 +
     * 마)인덱스 전체 스캔(Index Full Scan)      * 마)인덱스 전체 스캔(Index Full Scan) 
 +      - 전제조건(일괄 적용될 필요는 없음)
 +        - 조건절에서 인덱스의 컬럼이 적어도 하나이상 사용되었을때
 +        - 반듯이 선행컬럼이 사용될 필요는 없음
 +        - 쿼리 내 사용된 어떤 테이블들의 모든 컬럼들이 인덱스에 존재
 +        - 인덱스 컬럼중 최소한 NOT NULL인 컬럼이 최소 하나는 존재
 +        - ORDER BY절이 사용될 경우 인덱스를 사용하여 SORT가 가능할때
 +        - 반듯이 선행컬럼이 사용될 필요는 없음
 +      - SINGLE BLOCK I/O 수행
     * 바)인덱스 고속 전체 스캔(Index Fast Full Scans)      * 바)인덱스 고속 전체 스캔(Index Fast Full Scans) 
 +      - 인덱스 스캔만을 하며, 테이블 액세스는 하지 않음
 +      - MULTI BLOCK I/O를 수행
 +      - BITMAP INDEX에서는 적용 불가
 +      - 반듯이 선행컬럼이 사용될 필요는 없음
 +
  
 ==== 3.2.1.4. B-Tree 클러스터 액세스(Cluster access) ====  ==== 3.2.1.4. B-Tree 클러스터 액세스(Cluster access) ==== 
   * 3.2.1.4. B-Tree 클러스터 액세스(Cluster access)    * 3.2.1.4. B-Tree 클러스터 액세스(Cluster access) 
 +    -  클러스터링 테이블의 형태
 +      - 대량의 범위처리의 효율화를 위한 단일 테이블 클러스터링
 +      - 조인의 효율을 높이기 위한 두개 이상의 테이블 클러스터링
 +
 ==== 3.2.1.5. 해쉬 클러스터 액세스(Hash cluster access ====  ==== 3.2.1.5. 해쉬 클러스터 액세스(Hash cluster access ==== 
   * 3.2.1.5. 해쉬 클러스터 액세스(Hash cluster access)    * 3.2.1.5. 해쉬 클러스터 액세스(Hash cluster access) 
-==== 3.2.1.6. 표본 테이블 액세스(Sample table scan ====  +    * 클러스터 : 데이터의 클러스터링 팩터를 높여 물리적인 I/O의 효율을 향상하기 위한 방안 
-  * 3.2.1.6. 표본 테이블 액세스(Sample table scan) +    * 해쉬 클러스터 : 해쉬함수에 의해 만들어진 해쉬값을 이용하여 클러스터링 
 +    * 인덱스 스캔 VS 해쉬클러스터 
 +      - 인덱스 스캔 : 인덱스 I/O + 테이블 I/O 
 +      - 해쉬 클러스터 : 해쉬함수 생성 + 테이블 I/O 
 +      {{:study:oracle:datadb:3week_1:05실행계획.jpg|}}  
 + 
 +    * 사용범위 
 +      - 액세스 형태가 고정적 
 +      - =, IN으로 적용 가능한 테이블 
 +      - 해쉬키 컬럼이 수정이 많지 않은 경우 
 +      - 데이터 증가가 많지 않은 경우 
 +  
 +    *  주의사항 
 +      -  지속적인 데이터 INSERT 할 경우 
 +        - 해쉬 클러스터의 사이즈를 물리적 공간에 미리 확보함 
 +        - 총 해쉬 클러스터의 크기(초기치) = HASHKEYS * SIZE 
 +      - 해쉬값의 개수 지정 
 +        - 클러스터 생성시 HASHKEYS 값에 의해 결정 
 +        - OVERFLOW BLOCK 문제 발생 가능 
 +      - 비효율이 발생되는 연산자 
 +        - 비교연산자 : LIKE, <>, >, =>, <, <= 등 
 + 
 +==== 3.2.1.6. 표본 테이블 액세스(Sample table scan====  
 +  * 3.2.1.6. 표본 테이블 액세스(Sample table scan) 
 +    * 사용자가 지정한 범위(비율)에 대하여 데이터 처리 
 +      - 주의 사항 
 +        - 일정 비율의 데이터가 리턴 안 될 수 있음 
 +        - 동일한 데이터가 리턴되지 않을 수 있음 
 +      - ORACLE 10G 이전 
 +        - 단일 테이블에서 적용 
 +        - 조인, 뷰 또는 원격 테이블 사용 불가 
 +        - 단, 조인은 인라인 뷰를 이용하여 적용가능 
 +      - CBO 모드에서만 사용가능   
 + 
 +    - 데이터 마이닝(DATA MINING) 
 +      - 적은 표본오차 범위 내에서 데이터를 선별 
 +      - 데이터 마이닝 프로세스 부하를 축소 
 +    - 데이터 정제(CLEANSING)를 위한 데이터 오류 패턴 분석 
 +      - 데이터 웨어하우스 구축 시 적용 
 +    - 테스트를 위한 표본 데이터 생성 
 +      - 실 환경의 축소판을 생성하여 테스트 환경 구축
  
study/oracle/datadb/3week_1/01.1274161309.txt.gz · 마지막으로 수정됨: 2010/05/18 14:41 저자 upju