DataBase/RDBMS 3

Hash Join

※ 본 내용은 ChatGPT와 함께합니다. ※ 🔹 Hash Join이란?Hash Join은 두 테이블의 조인 키를 기반으로 해시 테이블(Hash Table) 을 만들어서 일치하는 행을 빠르게 찾는 조인 방식정렬이 필요 없다.→ Merge Join과 달리 정렬된 입력이 없어도 바로 조인 가능인덱스가 없어도 된다.→ Nested Loop처럼 인덱스 의존 X입력 크기 제약이 없다.→ 큰 데이터셋도 처리 가능 (단, tempdb가 충분해야 함) 병렬 처리에 강함→ Build / Probe 단계가 병렬로 실행 가능 단, 조인 조건이 동등 비교(=) 일 때만 사용 가능 ON a.id = b.id 처럼 Equal Join일 때만 가능합니다. 🔹기본 동작 과정Hash Join은 크게 두 단계로 진행됩니다. 단계설..

DataBase/RDBMS 2025.10.12

Merge Join

※ 본 내용은 ChatGPT와 함께합니다. ※SQL Server 의 동작 방식 내용이 포함되어 있습니다. 🔹 Merge JoinMerge Join은 이름 그대로 “두 집합을 병합(merge)”해서 조인한다.병합하려면 당연히 양쪽 입력이 같은 키로 정렬되어 있어야 한다. 🔹 옵티마이저가 Merge Join을 선택하는 2가지 경우 (1) 인덱스로 이미 정렬되어 있는 경우정렬 비용이 0이기 때문에 Merge Join이 매우 효율적 💡 옵티마이저 판단:두 입력이 이미 emp_id 순으로 정렬되어 있음정렬(Sort) 단계 생략 가능한 번씩 스캔하면서 매칭 → Merge Join이 최적 (2) 인덱스는 없지만, 정렬을 추가하는 게 더 싸다고 판단할 때옵티마이저가 “정렬(Sort) → Merge Join” 조..

DataBase/RDBMS 2025.10.11

Nested Loop Join

※ 본 내용은 ChatGPT와 함께합니다. ※ 🔹 Nested Loop Join말 그대로 "중첩된 반복문" 형태로 동작Outer Table의 각 행을 하나씩 꺼내서 → Inner Table에서 매칭되는 행을 찾음🔹 코드OuterTable 에 있는 데이터 한 행씩 InnerTable 에 있는 데이터를 비교한다.비교하면서 조건에 맞으면 결과에 추가for each row in OuterTable: for each row in InnerTable: if 조건이 맞으면 결과에 추가 🔹 동작 과정SELECT *FROM employees eJOIN departments d ON e.dept_id = d.id;Outer Table(예: employees) 에서 한 행을 꺼냄Inner Table..

DataBase/RDBMS 2025.10.11