โ Joins โ
- final write cost๋ ์กฐ์ธ ๋ชจ๋ธ ๋น์ฉ์ ๊ณ์ฐํ๋๋ฐ ํฌํจํ์ง ์๋๋ค. ์ฆ, ์กฐ์ธ๋ ํ ์ด๋ธ์ ๋์คํฌ์ ๊ธฐ๋กํ๋ ๋น์ฉ์ ๋ฌด์ํ๋๋ฐ, ์กฐ์ธ๋ ํ ์ด๋ธ์ด ๋ฉ๋ชจ๋ฆฌ์์ ๋ค๋ฅธ ์ฐ์ฐ์์ ์ํด ์ฌ์ฉ๋ ๊ฒ์ด๋ผ๊ณ ์๊ฐ๋๊ธฐ ๋๋ฌธ์ด๋ค
Simple Nested Loop Join
- ๊ฐ์ฅ ๋จ์ํ ๋ฐฉ๋ฒ์ ๋๊ฐ์ ์ค์ฒฉ๋ for loop๋ฅผ ์ฌ์ฉํ๋ ๊ฒ๊ณผ ๋น์ทํ๋ค
- ์๋ฅผ ๋ค์ด, R ํ ์ด๋ธ์ ๊ฐ ๋ ์ฝ๋๋ฅผ ๊ฐ์ ธ์์ S ํ ์ด๋ธ์์ ์ผ์นํ๋ ๋ชจ๋ ๋ ์ฝ๋๋ฅผ ๊ฒ์ํ๋ ๊ฒ์ด๋ค
- I/O cost = [R]+|R|[S] [R]์ R ํ ์ด๋ธ์ ํ์ด์ง ์์ด๊ณ |R|๋ R์ ๋ ์ฝ๋ ์์ด๋ค

Page Nested Loop Join
- R์ ๊ฐ ํ์ด์ง๋ง๋ค S์ ๋ชจ๋ ํ์ด์ง๋ฅผ ์ฝ๋๋ค
- I/O cost = [R] + [R][S] -> R๊ณผ S ์ค์์ ๋ ์์ ํ ์ด๋ธ์ ์ธ๋ถ๋ก ๋๋ฉด ์ต์ ํ ํ ์ ์๋ค

Block Nested Loop Join

- Page Nested Loop Join๋ ์ข์ง๋ง ์์ง ๋ฒํผ๋ฅผ ์ ํ์ฉํ๊ณ ์์ง ์๋ค
- S๋ฅผ ์ฝ๋ ๊ฒ์ด ์ ์ ์๋ก I/O ๋น์ฉ์ ์ค์ผ ์ ์์ผ๋ฏ๋ก, B ๋ฒํผ ํ์ด์ง๊ฐ ์์ ๋ B-2 ํ์ด์ง๋ฅผ R์ ์ฌ์ฉํ๊ณ , 1 ํ์ด์ง๋ฅผ S์, ๋๋จธ์ง 1ํ์ด์ง๋ฅผ ์์ํ ๋ฒํผ์ ์ฌ์ฉํ๋ ๊ฒ์ Block Nested Loop Join (or Chunk Nested Loop Join) ์ด๋ผ๊ณ ํ๋ค

Index Nested Loop Join
- S์ ์ธ๋ฑ์ค๊ฐ ์๋ ๊ฒฝ์ฐ
- I/O cost = [R] + |R|โ(cost to look up matching records in S)

Hash Join
- Naive Hash Join๊ณผ Grace Hash Join์ด ์๋ค
- Grace Hash Join์ key skew์ ๋ฏผ๊ฐํ๋ค.
- Key skew๋ ํด์ํ๋ ค๊ณ ํ๋๋ฐ ์๋น ์์ ํค๊ฐ ๋๊ฐ์ ๊ณณ์ ๊ฐ๋ ๊ฒฝ์ฐ, ์ฆ ๋ง์ ์์ ๋ ๊ณ ๋๊ฐ ๋๊ฐ์ ํค๋ฅผ ๊ฐ์ง๊ณ ์๋ ๊ฒฝ์ฐ์ ๋ฐ์ํ๋ค
Sort-Merge Join
- R๊ณผ S๋ฅผ ๋จผ์ ์ ๋ ฌํ๋ ๊ฒ์ด ๋์์ด ๋ ๋๊ฐ ์๋ค (์๋ฅผ ๋ค์ด, ์ฟผ๋ฆฌ์ ORDER BY๊ฐ ์๋ ๊ฒฝ์ฐ)

// TODO
ํด์ ์กฐ์ธ ์ข ๋ ์ฐพ์๋ณด๊ธฐ
์ ์ฒด์ ์ผ๋ก ์์ ํ ์ดํดํ์ง ๋ชปํ ๊ฒ ๊ฐ๋ค
์ฐธ๊ณ ์๋ฃ
'์คํฐ๋ > ๋ฐ์ดํฐ๋ฒ ์ด์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[CS186] Introduction to Database Systems - Week 5 (0) | 2023.05.27 |
---|---|
[CS186] Introduction to Database Systems - Week 4 (0) | 2023.05.20 |
[CS186] Introduction to Database Systems - Week 3 (0) | 2023.05.13 |
[CS186] Introduction to Database Systems - Week 2 (0) | 2023.05.06 |
[๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ ] Relational Languages (1) | 2023.04.15 |
๋๊ธ