๊ฐœ์ธ๊ณต๋ถ€/SQL

54. SQLD ๊ธฐ์ถœ๋ฌธ์ œ 1๊ณผ๋ชฉ ์˜ค๋‹ต๊ฐœ๋…์ •๋ฆฌ

LEE_BOMB 2021. 11. 17. 21:13
๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง์˜ ์ดํ•ด

๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง ์‹œ ์œ ์˜์‚ฌํ•ญ

์ค‘๋ณต : ์—ฌ๋Ÿฌ ์žฅ์†Œ์— ๊ฐ™์€ ์ •๋ณด ์ €์žฅ ๊ธˆ์ง€

๋น„์œ ์—ฐ์„ฑ : ๋ฐ์ดํ„ฐ ์ •์˜์™€ ์‚ฌ์šฉ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ถ„๋ฆฌํ•ด ์ž‘์€ ๋ณ€ํ™”๊ฐ€ ํฐ ๋ณ€ํ™”๊ฐ€ ๋˜์ง€ ์•Š๋„๋ก ํ•˜๊ธฐ

๋น„์ผ๊ด€์„ฑ : ๋ฐ์ดํ„ฐ ๊ฐ„ ์ƒํ˜ธ ์—ฐ๊ด€๊ด€๊ณ„๋ฅผ ์ •์˜ํ•ด์„œ ๋ชจ์ˆœ์ด ์ƒ๊ธฐ์ง€ ์•Š๋„๋ก ํ•˜๊ธฐ

 

 

๋ฐœ์ƒ์‹œ์ ์— ๋”ฐ๋ฅธ ์—”ํ„ฐํ‹ฐ ๋ถ„๋ฅ˜

๊ธฐ๋ณธ ์—”ํ„ฐํ‹ฐ (ํ‚ค ์—”ํ„ฐํ‹ฐ) ex. ์‚ฌ์›, ๋ถ€์„œ, ๊ณ ๊ฐ, ์ƒํ’ˆ ๋“ฑ
์ค‘์‹ฌ ์—”ํ„ฐํ‹ฐex. ๊ณ„์•ฝ, ์ฒญ๊ตฌ, ์ฃผ๋ฌธ, ๋งค์ถœ ๋“ฑ
ํ–‰์œ„ ์—”ํ„ฐํ‹ฐ ex. ์ฃผ๋ฌธ๋ชฉ๋ก, ์‚ฌ์› ๋ณ€๊ฒฝ์ด๋ ฅ ๋“ฑ

 

 

์†์„ฑ

์˜ˆ๊ธˆ๋ถ„๋ฅ˜(์ผ๋ฐ˜์˜ˆ๊ธˆ, ํŠน๋ณ„์˜ˆ๊ธˆ)์˜ ์›๊ธˆ, ์˜ˆ์น˜๊ธฐ๊ฐ„, ์ด์ž์œจ์„ ๊ด€๋ฆฌํ•  ํ•„์š”๊ฐ€ ์žˆ๋‹ค. ์›๊ธˆ์— ๋Œ€ํ•œ ์ด์ž์œจ์„ ์ ์šฉํ•ด ๊ณ„์‚ฐ๋œ ์ด์ž์— ๋Œ€ํ•ด์„œ๋„ ์†์„ฑ์œผ๋กœ ๊ด€๋ฆฌํ•˜๊ณ ์ž ํ•œ๋‹ค. ์ผ๋ฐ˜์˜ˆ๊ธˆ์ด๋‚˜ ํŠน๋ณ„์˜ˆ๊ธˆ ๋“ฑ์— ๋Œ€ํ•ด์„œ๋Š” ์ฝ”๋“œ๋ฅผ ๋ถ€์—ฌํ•˜์—ฌ ๊ด€๋ฆฌํ•œ๋‹ค.

๊ธฐ๋ณธ์†์„ฑ : ์—…๋ฌด๋กœ ๋ถ€ํ„ฐ ์ถ”์ถœ๋œ ์ผ๋ฐ˜์ ์ธ ์†์„ฑ ex.์›๊ธˆ, ์˜ˆ์น˜๊ธฐ๊ฐ„, ์ด์ž์œจ
์„ค๊ณ„ ์†์„ฑ : ์—…๋ฌด ๊ทœ์น™ํ™”๋ฅผ ์œ„ํ•ด ์ƒˆ๋กœ ๋งŒ๋“ค๊ฑฐ๋‚˜ ๋ณ€ํ˜• ์ •์˜ ex. ์˜ˆ๊ธˆ๋ถ„๋ฅ˜
ํŒŒ์ƒ ์†์„ฑ : ex. ์ด์ž

 

 

๊ด€๊ณ„ ํ‘œ๊ธฐ๋ฒ•

๊ด€๊ณ„๋ช…, ๊ด€๊ณ„์ฐจ์ˆ˜, ๊ด€๊ณ„์„ ํƒ์„ฑ

 

 

์‹๋ณ„์ž์˜ ํŠน์„ฑ

๋ณธ์งˆ ์‹๋ณ„์ž : ์—…๋ฌด์— ์˜ํ•ด ๋งŒ๋“ค์–ด์ง€๋Š” ์‹๋ณ„์ž ex) ์‚ฌ๋ฒˆ

์ธ์กฐ ์‹๋ณ„์ž : ์—…๋ฌด์ ์œผ๋กœ ๋งŒ๋“ค์–ด์ง€์ง€๋Š” ์•Š์ง€๋งŒ ์›์กฐ์‹๋ณ„์ž๊ฐ€ ๋ณต์žกํ•œ ๊ตฌ์„ฑ์„ ๊ฐ€์ง€๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ธ์œ„์ ์œผ๋กœ ๋งŒ๋“  ์‹๋ณ„ ์ž

 

 

 

 

 

๋ฐ์ดํ„ฐ ๋ชจ๋ธ๊ณผ ์„ฑ๋Šฅ

์„ฑ๋Šฅ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง ์ˆ˜ํ–‰ ์ ˆ์ฐจ
๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง์„ ํ•  ๋•Œ ์ •๊ทœํ™”๋ฅผ ์ •ํ™•ํ•˜๊ฒŒ ์ˆ˜ํ–‰ํ•œ๋‹ค.
๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์šฉ๋Ÿ‰์‚ฐ์ •์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.
๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋ฐœ์ƒ๋˜๋Š” ํŠธ๋žœ์žญ์…˜์˜ ์œ ํ˜•์„ ํŒŒ์•…ํ•œ๋‹ค.
์šฉ๋Ÿ‰๊ณผ ํŠธ๋žœ์žญ์…˜์˜ ์œ ํ˜•์— ๋”ฐ๋ผ ๋ฐ˜์ •๊ทœํ™”๋ฅผ ์ˆ˜ํ–‰ํ•œ๋‹ค.
์ด๋ ฅ ๋ชจ๋ธ์˜ ์กฐ์ •, PK/FK ์กฐ์ •, ์Šˆํผํƒ€์ž…/์„œ๋ธŒํƒ€์ž… ์กฐ์ • ๋“ฑ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.
์„ฑ๋Šฅ ๊ด€์ ์—์„œ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์„ ๊ฒ€์ฆํ•œ๋‹ค.

 

 

๋ฐ˜์ •๊ทœํ™” ํŒ๋‹จ์š”์†Œ

- ๋ฐ˜์ •๊ทœํ™”๋Š” ์ •๋ณด์— ๋Œ€ํ•œ ์žฌํ˜„์˜ ์ ์‹œ์„ฑ์œผ๋กœ ํŒ๋‹จํ•œ๋‹ค. ex) ๋‹ค์ˆ˜ ํ…Œ์ด๋ธ”์— ๋‹ค๋Ÿ‰์˜ ์กฐ์ธ์ด ๋ถˆ๊ฐ€ํ”ผํ•œ ๋นŒ๋ง์˜ ์ž”์•ก

- ๋‹ค๋Ÿ‰ ๋ฐ์ดํ„ฐ ํƒ์ƒ‰์€ ์ธ๋ฑ์Šค ์™ธ์— ํŒŒํ‹ฐ์…˜, ๋ฐ์ดํ„ฐ ํด๋Ÿฌ์Šคํ„ฐ๋ง ๋“ฑ ๋ฌผ๋ฆฌ ์ €์žฅ ๊ธฐ๋ฒ•์„ ํ™œ์šฉํ•˜์—ฌ ์„ฑ๋Šฅ ๊ฐœ์„ ์„ ์œ ๋„ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋‹จ, ํ•˜๋‚˜์˜ ๊ฒฐ๊ณผ๋ฅผ ์ถ”์ถœํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๋ฅผ ํƒ์ƒ‰ํ•˜๋Š” ์ฒ˜๋ฆฌ๊ฐ€ ๋ฐ˜๋ณต์ ์œผ๋กœ ๋นˆ๋ฒˆํ•˜๊ฒŒ ๋ฐœ์ƒํ•œ๋‹ค๋ฉด ์ด ๋•Œ ๋ฐ˜์ •๊ทœํ™”๋ฅผ ๊ณ ๋ คํ•œ๋‹ค.

- ์ด์ „ ๋˜๋Š” ์ดํ›„ ๋ ˆ์ฝ”๋“œ์— ๋Œ€ํ•œ ํƒ์ƒ‰์€ window function์œผ๋กœ ์ ‘๊ทผํ•œ๋‹ค.

- ์ง‘๊ณ„ ํ…Œ์ด๋ธ” ์™ธ์—๋„ ๋‹ค์–‘ํ•œ ์œ ํ˜•์— ๋Œ€ํ•ด ๋ฐ˜์ •๊ทœํ™” ํ…Œ์ด๋ธ” ์ ์šฉ์ด ํ•„์š”ํ•˜๋‹ค.

 

 

๊ด€๊ณ„ ๋ฐ˜์ •๊ทœํ™”

๋กœ์šฐ์ฒด์ด๋‹ : ๋‘ ๊ฐœ ์ด์ƒ์˜ ๋ธ”๋ก์— ๊ฑธ์ณ ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋˜์–ด ์žˆ๋Š” ํ˜•ํƒœ
๋กœ์šฐ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ : ์ˆ˜์ •๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜์ง€ ๋ชปํ•˜๊ณ  ๋‹ค๋ฅธ ๋ธ”๋ก์˜ ๋นˆ ๊ณต๊ฐ„์„ ์ฐพ์•„ ์ €์žฅ
* ๋กœ์šฐ ์ฒด์ด๋‹๊ณผ ๋กœ์šฐ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์ด ๋ฐœ์ƒํ•˜์—ฌ ๋งŽ์€ ๋ธ”๋ก์— ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋˜๋ฉด DB ๋ฉ”๋ชจ๋ฆฌ์—์„œ ๋””์Šคํฌ I/O๊ฐ€ ๋ฐœ์ƒํ•  ๋•Œ ๋งŽ์€ I/O ๊ฐ€ ๋ฐœ์ƒํ•˜์—ฌ ์„ฑ๋Šฅ์ €ํ•˜ ๋ฐœ์ƒ. ํŠธ๋žœ์žญ์…˜์„ ๋ถ„์„ํ•˜์—ฌ ์ ์ ˆํ•˜๊ฒŒ 1:1 ๊ด€๊ณ„๋กœ ๋ถ„๋ฆฌํ•จ์œผ๋กœ์จ ์„ฑ๋Šฅํ–ฅ์ƒ์ด ๊ฐ€๋Šฅํ•˜๋„๋ก ํ•ด์•ผ ํ•œ๋‹ค

 

 

๋…ผ๋ฆฌ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ -> ๋ฌผ๋ฆฌ์  ํ…Œ์ด๋ธ”

ํŠธ๋žœ์žญ์…˜์ด ํ•ญ์ƒ ์ „์ฒด๋ฅผ ๋Œ€์ƒ์œผ๋กœ ์ผ๊ด„ ์ฒ˜๋ฆฌํ•˜๋Š”๋ฐ, ํ…Œ์ด๋ธ”์€ ์„œ๋ธŒํƒ€์ž…๋ณ„๋กœ ๊ฐœ๋ณ„ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋ฉด Union์—ฐ์‚ฐ์— ์˜ํ•ด ์„ฑ๋Šฅ ์ €ํ•˜

ํŠธ๋žœ์žญ์…˜์ด ํ•ญ์ƒ ์„œ๋ธŒํƒ€์ž… ๊ฐœ๋ณ„๋กœ ์ฒ˜๋ฆฌํ•  ๋•Œ, ๋งŽ์€ ์–‘์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์ง‘์ ๋˜์–ด์žˆ์œผ๋ฉด ์„ฑ๋Šฅ์ด ์ €ํ•˜

ํŠธ๋žœ์žญ์…˜์ด ํ•ญ์ƒ ์ „์ฒด๋ฅผ ํ†ตํ•ฉํ•˜์—ฌ ๋ถ„์„์ฒ˜๋ฆฌํ• ๋•Œ ๋ฐ์ดํ„ฐ ์ง‘์ ์œผ๋กœ ์ธํ•ด ์„ฑ๋Šฅ์ด ์ €ํ•˜๋˜์ง€ ์•Š๊ณ  ์šฐ์ˆ˜

ํŠธ๋žœ์žญ์…˜์€ ํ•ญ์ƒ ์Šˆํผ+์„œ๋ธŒ ํƒ€์ž…์„ ํ•จ๊ป˜ ์ฒ˜๋ฆฌํ•˜๋Š”๋ฐ, ๊ฐœ๋ณ„๋กœ ์œ ์ง€ํ•˜๋ฉด ์กฐ์ธ์— ์˜ํ•ด ์„ฑ๋Šฅ์ด ์ €ํ•˜

 

 

์ธ๋ฑ์Šค