- SELECT ์ฟผ๋ฆฌ์ ๊ฒฐํฉ(JOIN)๊ณผ ๊ด๋ จ๋ ๊ตฌ๋ฌธ์ด ์์ ๊ฒฝ์ฐ, ๊ฒฐํฉ ํ ์ด๋ธ์ ์กฐํ๋ฅผ ์ํด Join ์๊ณ ๋ฆฌ์ฆ ์ค ํ ๊ฐ์ง๋ฅผ ์ฌ์ฉํจ
- ์์ฃผ ์ฌ์ฉ๋๋ Join ์๊ณ ๋ฆฌ์ฆ
- Nested Loops
- Hash
- Sort Merge
- ์ค์ฒฉ ๋ฐ๋ณต๋ฌธ์ ๋์ ๊ณผ์ ๊ณผ ์ ์ฌํ๊ฒ ๊ฒฐํฉ ํ ์ด๋ธ์ ์ฐธ์กฐ
- ์ฆ, ๋ ํ ์ด๋ธ์ ๋ ์ฝ๋ ์๊ฐ ๊ฐ๊ฐ N๊ฐ, M๊ฐ๋ผ๋ฉด ์ด๋ก ์ ์ผ๋ก๋ N*M ๋ฒ์ ๋ ์ฝ๋ ์กฐํ๊ฐ ๋ฐ์
- โญ ์ธ๋ถ ํ
์ด๋ธ์ด ๋ด๋ถ ํ
์ด๋ธ๋ณด๋ค
์๊ณ
, ๋ด๋ถ ํ ์ด๋ธ์ ๊ฒฐํฉ ํค์์ธ๋ฑ์ค
๊ฐ ์กด์ฌํ๋ ๊ฒฝ์ฐ ํด๋น ์๊ณ ๋ฆฌ์ฆ์ด ๊ฐ์ฅ ํจ์จ์ ์ผ๋ก ๋์ - ๋น๋๊ธฐ ๊ฒฐํฉ์๋ ์ฌ์ฉ ๊ฐ๋ฅ
- ๋ด๋ถ์ ์ผ๋ก ๋ ํ ์ด๋ธ ์ค ์์ ํ ์ด๋ธ์ ์ธ๋ถ ํ ์ด๋ธ๋ก ์ ์ ํ๋๋ฐ, ์ธ๋ถ/๋ด๋ถ ํ ์ด๋ธ์ด ๋ชจ๋ ํฌ๊ธฐ๊ฐ ํฐ ๊ฒฝ์ฐ์๋ ๋นํจ์จ์
- ๋ด๋ถ ํ ์ด๋ธ์ ์ธ๋ฑ์ค๊ฐ ์๋ ๊ฒฝ์ฐ ๋นํจ์จ์
- ์ธ๋ถ ํ ์ด๋ธ์ ๊ฒฐํฉ ํค๋ฅผ ํด์ ํจ์๋ฅผ ํต๊ณผ์์ผ ํด์๊ฐ์ผ๋ก ๋ง๋ค๊ณ , ์ด๋ฅผ Working Memory ๋ด ํด์ ํ ์ด๋ธ์ ์ ์ฅํ๊ณ , ์ด ํด์ ํ ์ด๋ธ๊ณผ ๋ด๋ถ ํ ์ด๋ธ์ ๊ฒฐํฉ ํค ๊ฐ ๋งค์นญ ์ฌ๋ถ๋ฅผ ํ์ธํด ๊ฒฐํฉ
- Nested Loops๊ฐ ๋นํจ์จ์ ์ด๋ผ๊ณ ํ๋จ๋๋ ๊ฒฝ์ฐ ๋๋ถ๋ถ Hash๋ฅผ ์ฌ์ฉ
- ๋๊ท๋ชจ ํ ์ด๋ธ ๊ฐ ๊ฒฐํฉ์ ์ ํฉ
- ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์๋นํ๋ค.
- ์ด๋ ๊ณง TEMP ํ๋ฝ์ด ๋ฐ์ํ ๊ฐ๋ฅ์ฑ์ด ์กด์ฌํ๋ค๋ ๋ป
- ํด์๋ฅผ ์ด์ฉํ๋ฏ๋ก ์์ ๋ณด์ฅ์ด ๋์ง ์์ ๋ฑ๊ฐ ๊ฒฐํฉ์์๋ง ์ฌ์ฉ ๊ฐ๋ฅ
- ๋ ํ
์ด๋ธ์ ๊ฒฐํฉ ํค ๊ธฐ์ค์ผ๋ก ์ ๋ ฌํ
์ ๋ ฌ ํ ์ด๋ธ
์ Working Memory์ ์์ฑํ๊ณ , ์ด๋ฅผ ๊ธฐ์ค์ผ๋ก ํ์
- ๋๊ท๋ชจ ํ ์ด๋ธ ๊ฐ ๊ฒฐํฉ์ ์ ํฉ
- ๋น๋๊ธฐ ๊ฒฐํฉ ๊ฐ๋ฅ
- ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฌํด์ผ ํ๋ ์ค๋ฒํค๋
- ๋ ํ
์ด๋ธ์ ํฌ๊ธฐ๋งํผ Working Memory๋ฅผ ์ฌ์ฉํ๋ฏ๋ก, ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ด ํผ
- TEMP ํ๋ฝ์ด ๋ฐ์ํ ๊ฐ๋ฅ์ฑ ์กด์ฌ