๐ 22-08-16
SQLP ์ด๋ก ๋ณต์ต
(1) ๊ณ ๋ํ 5์ฅ
(2) ์ ๋ฌธ๊ฐ ๊ฐ์ด๋ ๊ณผ๋ชฉ โ
ข ์ 4์ฅ ์ธ๋ฑ์ค์ ์กฐ์ธ
(3) ์ ๋ฌธ๊ฐ ๊ฐ์ด๋ ๊ณผ๋ชฉ1 ๋ฐ์ดํฐ ๋ชจ๋ธ๊ณผ ์ฑ๋ฅ 2/3
SQLP ์ค๊ธฐ ํ์ด
(1) [SQLP์ค๊ธฐํ์ด]6์ฅ ๊ณ ๊ธSQLํ๋(1)-์ํธํ๋12๋ฒ
(2) [SQLP์ค๊ธฐํ์ด]6์ฅ ๊ณ ๊ธSQLํ๋(5) ๋์ฉ๋ ๋ฐฐ์น ํ๋ก๊ทธ๋จ ํ๋ 51๋ฒ
(3) [SQLP์ค๊ธฐํ์ด]6์ฅ ๊ณ ๊ธSQLํ๋(5) ๋์ฉ๋ ๋ฐฐ์น ํ๋ก๊ทธ๋จ ํ๋ 52๋ฒ
(4) [SQLP์ค๊ธฐํ์ด]6์ฅ ๊ณ ๊ธSQLํ๋(5) ๋์ฉ๋ ๋ฐฐ์น ํ๋ก๊ทธ๋จ ํ๋ 53๋ฒ
(5) [SQLP์ค๊ธฐํ์ด]6์ฅ ๊ณ ๊ธSQLํ๋(5) ๋์ฉ๋ ๋ฐฐ์น ํ๋ก๊ทธ๋จ ํ๋ 54๋ฒ
SQLP ํ๊ธฐ ํ์ด
(1) 1~15๋ฒ
[SQLPํ๊ธฐํ์ด]4์ฅ ์กฐ์ธํ๋(1)-NL์กฐ์ธ
(2) 16 ~ 37๋ฒ
[SQLPํ๊ธฐํ์ด]4์ฅ ์กฐ์ธํ๋(2)-์ํธ๋จธ์ง์กฐ์ธ&ํด์์กฐ์ธ
(3)
[SQLPํ๊ธฐํ์ด]4์ฅ ์กฐ์ธํ๋(3)-์ค์นผ๋ผ์๋ธ์ฟผ๋ฆฌ
(4) 45,46๋ฒ
[SQLPํ๊ธฐํ์ด]4์ฅ ์กฐ์ธํ๋(4)-๊ณ ๊ธ์กฐ์ธ๊ธฐ๋ฒ
๐ 8/13 ๋ณต๊ธฐ
[1] ๋ณ๋ ฌ ์คํ๊ณํ
- ์์ชฝ์ ์๋ ๊ฒ Inner ํ
์ด๋ธ์ด๋ค.
- ์ด Inner table์ ๊ธฐ์ค์ผ๋ก pq_distribute ํํธ๋ฅผ ์์ฑํ๋ค.
[2] SQL SERVER ์กฐ์ธ ํํธ
2๋ฒ,3๋ฒ
- FROM ์ ์ ํ
์ด๋ธ์ ๋์ดํ ์์ผ๋ก ์กฐ์ธํ๊ณ ์ ํ ๋ force order ํํธ๋ฅผ ์ฌ์ฉํ๋ค.
- NL ์กฐ์ธ์ผ๋ก ์ ๋ํ ๋ loop join ํํธ๋ฅผ ์ฌ์ฉํ๋ค.
option(force order, loop join)
- NL ์กฐ์ธ์ผ๋ก ์ ๋ํ ๋ inner loop join ๊ตฌ๋ฌธ์ ์ฌ์ฉํ๋ค.
- ํด์ ์กฐ์ธ์ผ๋ก ์ ๋ํ ๋ inner hash join ๊ตฌ๋ฌธ์ ์ฌ์ฉํ๋ค.
from ์ฃผ๋ฌธ o
inner loop join ๊ณ ๊ฐ c on (c.๊ณ ๊ฐ๋ฒํธ= o.๊ณ ๊ฐ๋ฒํธ)
inner hash join ๊ฒฐ์ ๋ฐฉ์ t on (t.๊ฒฐ์ ๋ฐฉ์์ฝ๋ = 0.๊ฒฐ์ ๋ฐฉ์์ฝ๋)
from ์ฃผ๋ฌธ o
inner hash join ๊ฒฐ์ ๋ฐฉ์ t on (t.๊ฒฐ์ ๋ฐฉ์์ฝ๋ = 0.๊ฒฐ์ ๋ฐฉ์์ฝ๋)
option(force order)
[3] ์ต์ ์ธ๋ฑ์ค ๊ตฌํ ๋ ์ฃผ์ํ ์
10๋ฒ
- ๋ฌด์กฐ๊ฑด Order by ๊ฐ ์๋ค๊ณ ๋ถ๋ถ๋ฒ์ ์ฒ๋ฆฌ๋ฅผ ํ๋ ๊ฑด ์๋๋ค.
[4] ์ํธ ๋จธ์ง ์กฐ์ธ ํํธ
[5] ์ํธ ๋จธ์ง ์กฐ์ธ ํน์ง
- โญ๏ธ ๋๋ฒ์งธ ํ
์ด๋ธ์ ๋ฌด์กฐ๊ฑด ๋ฐ๋ก ์ ๋ ฌ์ ์ํํด์ผํจ ~!
- ์์ชฝ ์งํฉ์ ๊ฐ๋ณ์ ์ผ๋ก ์ฝ์ด์ ์ ๋ ฌํ๋ฏ๋ก ์กฐ์ธ ์ปฌ๋ผ์ ์ธ๋ฑ์ค๊ฐ ์์ด๋ ์๊ด ์๋ค.
- โญ๏ธ ๋ ๋ฒ์งธ ์งํฉ์ ๋ฐ๋์ ์ ๋ ฌํด์ PGA์ ์ ์ฅํ ํ์ ์กฐ์ธ์ ์์ํ๋ค.
- ์ฒซ ๋ฒ์งธ ์งํฉ๋ ์ผ๋ฐ์ ์ผ๋ก PGA์ ์ ์ฅํ์ง๋ง, ์กฐ์ธ ์ปฌ๋ผ์ ์ธ๋ฑ์ค๊ฐ ์์ด์ ๊ทธ๊ฒ์ ์ฌ์ฉํ๋ค๋ฉด PGA ์ ์ฅํ์ง ์๊ณ ์กฐ์ธ์ ์์ํ๋ค.
- โญ๏ธ์ํธ ๋จธ์ง ์กฐ์ธ ํต์ฌโญ๏ธ : ๋๋ ๋ฐ์ดํฐ๋ฅผ ์กฐ์ธํ ๋ ์ํธ ๋จธ์ง ์กฐ์ธ์ด NL ์กฐ์ธ๋ณด๋ค ์ ๋ฆฌํ ์ด์ ๋ ๋ฐ์ดํฐ๋ฅผ PGA ์์ญ์ ์ฝ์ด ๋ค์ธ ํ ์กฐ์ธํ๊ธฐ ๋๋ฌธ์ด๋ค.
[6] ํด์ ์กฐ์ธ ํน์ง
- swap_join_inputs ํํธ๊ฐ ์์ผ๋ฉด leading์ด๋ ordered ํํธ์ ๊ธฐ์ฌ๋ ์ฒซ๋ฒ์งธ ํ
์ด๋ธ์ด ๋ฌด์กฐ๊ฑด build input ํ
์ด๋ธ์ด ๋๋ค.
- ํด์ ์กฐ์ธ๋ ์กฐ์ธ ํ๋ก์ธ์ฑ ์์ฒด๋ NL ์กฐ์ธ๊ณผ ๊ฐ์ง๋ง, ๊ฑด๊ฑด์ด Inner ์งํฉ์ ๋ฒํผ์บ์์์ ํ์ํ์ง ์๊ณ PGA์ ๋ฏธ๋ฆฌ ์์ฑํด ๋ ํด์ ํ
์ด๋ธ(ํด์ ๋งต)์ ํ์ํ๋ฉด์ ์กฐ์ธํ๋ค๋ ์ ์ด ๋ค๋ฅด๋ค.
โญ๏ธํด์ ๋งต์ ์ด์ฉํ๋ฏ๋ก ์กฐ์ธ ์ปฌ๋ผ์ ์ธ๋ฑ์ค๊ฐ ์์ด๋ ์๊ด ์๋ค.โญ๏ธ
- 28๋ฒ
ํด์ ์๊ณ ๋ฆฌ์ฆ ํน์ฑ์ ํ ์ฒด์ธ์ ์ฌ๋ฌ ๊ฐ ๊ฐ์ด ์ฐ๊ฒฐ๋ ์ ์๋ ๊ตฌ์กฐ์ด๋ฉฐ, ๊ฐ ํด์ ์ฒด์ธ์ ์ฐ๊ฒฐ๋ ๊ฐ์ด ๋ง์์๋ก ํด์ ๋งต ํ์ ํจ์จ์ ๋๋น ์ง๋ค.
[7] ํด์ ์กฐ์ธ ํํธ ์์ฑ๋ฒ
- 32๋ฒ,33๋ฒ,34๋ฒ,35๋ฒ,36๋ฒ
- ํด์ ์กฐ์ธ ์์๋ build input๊ณผ Inner ํ
์ด๋ธ์ ๊ด๊ณ๋ฅผ ์๊พธ ํท๊ฐ๋ คํ๋ค ใ
ใ
- ์ฌ๋ฌ ๊ฐ ํ
์ด๋ธ์ด ํด์์กฐ์ธํ ๋๋ swap_join_inputs ํํธ๋ก inner ํ
์ด๋ธ์ ๋ถ๋ช
ํํ๋ค.
- ํด์ ์กฐ์ธ ํํธ ๋ฌธ์ ๋ฅผ ์ธ ๋ ์ธ๋ฑ์ค๋ฅผ ์ ์ด์ฃผ๋๋ก ํ๋ค.(?)
[8] ์ค์นผ๋ผ ์๋ธ์ฟผ๋ฆฌ ํน์ง
- 38๋ฒ
- โญ๏ธ ์กฐ์ธ์ผ๋ก ๋ณํํ๋ค๊ณ ๋ฌด์กฐ๊ฑด ์์ฐํฐ ์กฐ์ธ์ ์๋๋ค.ERD๋ฅผ ๋ณด๊ฑฐ๋ผ !!!!
ERD๋ PK๋ฅผ ๋ณด๋ ๊ฒ ์๋๋ผ ๊ด๊ณ ์ ์ ๋ณด์์ผ ํ๋ค. โญ๏ธ
- ์ฃผ๋ฌธ์ ๊ณ ๊ฐ์ '๊ผญ' ๊ฐ์ง๊ณ ์๋ค.
- ๋ํ ์ฑ๋ฅ์ ์ํด์ ๊ฐ๊ธ์ Outer ์กฐ์ธ๋ณด๋ค Inner ์กฐ์ธ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข๋ค.
[9] ERD ๊ด๊ณ์ ๊ผญ ์์๋ ๊ฒ
- ์ฃผ๋ฌธ์ ๊ณ ๊ฐ์ '๊ผญ' ๊ฐ์ง๊ณ ์๋ค.
- ์ฃผ๋ฌธ์ ๊ณ ๊ฐ์ '๊ผญ' 1๊ฐ์ฉ ๊ฐ์ง๊ณ ์๋ค.
- ์ฃผ๋ฌธ์ํ์ ์ฃผ๋ฌธ์ '๊ผญ' m:1์ ๊ด๊ณ๋ก ๊ฐ์ง๊ณ ์๋ค.