사용자 도구

사이트 도구


study:oracle:datadb:3week_1:02

문서의 이전 판입니다!


3.2.2. 데이터 연결을 위한 실행계획

  • 3.2.2.1. 내포 조인(Nested loops Join)
    1. 가장 고전적 형태의 조인방식이나 현실적으로 가장 많이 적용
    2. SINGLE BLOCK I/O
    3. 전처리 집합의 처리범위가 전체 일량을 좌우
    4. 다량의 랜덤 액세스 발생
    5. 따라서 소량의 액세스는 유용, 다량의 액세스는 큰 부하 발생
    6. NESTED LOOPS JOIN = 내포조인 = 중첩루프조인
    7. 진보된 내포조인(Advanced Nested Loop Join)
      1. 클러스터링 팩터가 좋다면, 많은 부분을 한번의 블록 액세스에서 연결가능
      2. 물리적, 논리적 블록 액세스 량이 감소 → 효율성 증대
      3. DBMS 또는 버전별로 차등 지원
  • 3.2.2.2. 정렬 병합 조인(Sort Merge Join)
    1. NESTED LOOPS JOIN의 문제점을 해결하기 위한 방안
      1. NESTED LOOPS JOIN의 문제점
      2. 조인 대상 범위가 넓을 경우 랜덤 액세스 발생
      3. 연결고리 이상으로 인한 다량의 액세스 발생
    2. SORT MERGE JOIN의 특징
      1. 랜덤액세스를 하지 않고 스캔으로 수행
      2. 최소한 두 개의 집합의 연결 고리는 필요
      3. 정렬을 대신 할수 있는 인덱스가 존재할 경우 부하 감소
      4. 연결고리에 인덱스 유무가 문제되지 않음
      5. SORT 부하 발생
        1. SORT AREA SIZE에 따른 효율성 차이 발생
      6. 해쉬조인에 비해
        1. 이미 정렬된 집합이 존재
        2. 인덱스를 활용한 정렬 대체가 가능할 경우 높은 효율성 보장 가능
      7. Nested Loop 조인에 비해
        1. =(EQUAL)이 아닌 (LIKE, BETWEEN, <. ⇐, >, >=)일 경우 유리할 수 있음
        2. 선행 집합 개념이 없음으로 선행처리 개념이 불필요
        3. 각 집합이 독립적인 처리 수행
  • 3.2.2.3. 해쉬 조인(Hash Join)
  • 3.2.2.4. 세미 조인(Semi Join)
  • 3.2.2.5. 카티젼 조인(Cartesian Join)
  • 3.2.2.6. 아우터 조인(Outer Join)
  • 3.2.2.7. 인덱스 조인
study/oracle/datadb/3week_1/02.1274234518.txt.gz · 마지막으로 수정됨: 2010/05/19 11:01 저자 upju