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 사용
- 인라인 뷰 사용
'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 |