DB JOIN

04.Database 2020. 6. 8. 11:28
728x90
반응형

KEY  : nested loop join, sort merge join, hash join, 운반단위

활용 : 한번에 조회

패턴 : index를 통하여 대표값 추출 , 운반 진행

 

[개념]두개이상 릴레이션에 대해 연관튜플을 결합하여 하나의 새로운 릴레이션을 반환하기 위한 DB 연산기법

[유형]

① 매커니즘측면 [NSH]

- Nested Loop : 선행테이블(Driving Table) 추출 값으로 후행테이블 조인하는 방식 (테이블간 조인순서 조정)

  = 좁은 범위 유리, 순차처리, Random Access 위주

  = 실행속도 = 선행 테이블 사이즈 * 후행 테이블 접근횟수

 

- Sort Merge : 조인 두 집합을 조인 속성으로 정렬하여 Sorted list 만든 후 이들을 병합하는 방식 (조인 Area 배치 업무시 사용)

 = 넓은 범위 Random Access 줄이기 위해/인덱스 없을때

 = USE_MERGE(A,B)/ 정렬을 위한 메모리 영역 필요

 = 비교 연산자가 =이 아닌 경우 NL보다 유리

 

 

- Hash : 해쉬함수 사용하여 두 테이블 자료를 결합하는 조인 방식

 = USE_HASH(A,B) / 메모리 오버헤드

 = 연결조건 연산자가 = 인 동치조인인 경우만 가능

 

② 연산측면 [EB]

- Equi : '=' 비교통해 같은 값의 행을 반환

- Between : Between 연산자 이용한 Non-Equi 조인유형

 

③ 조인결과측면 [ISO]

- Inner : 결합 행들이 조건을 만족할 경우에만 열을 반환 (Equi, Natural)

- Outer : 대응되는 튜플이 없는 튜플과 널 값을 갖는 튜플도 결과에 포함 (Left Outer, Right Outer, Full Outer)

- Self : 릴레이션의 한 튜플이 자신의 다른 튜플 참조 경우 자기자신 참조

 

4. 일반조인

- 동등 조인: 공통속성, 단순, 내부

- 크로스 조인: 모든 행 모든 집합 PRODUCTION

- 세미 조인: 특정 조건완료시 종료

 

성능향상 기법

- Index

- Outer 제거

- Coupling 상태

- 순서, 성공율

- 옵티마이저 Hint 사용

- 인라인 뷰 사용

 

 

 

728x90

'04.Database' 카테고리의 다른 글

DB 유형 - 통계 DB  (0) 2020.06.08
정규화 - 함수적 종속성  (0) 2020.06.08
DB 유형 - DBaaS  (0) 2020.06.08
정규화  (0) 2020.06.08
정규화 - 연결 함정 (Connection Trap)  (0) 2020.06.08
Posted by Mr. Slumber
,