๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹ค์ „ ์ž…๋ฌธ - 11. ์ธ๋ฑ์Šค ์„ค๊ณ„ ์ „๋žต

1. ์ธ๋ฑ์Šค์˜ ๋™์ž‘

์ธ๋ฑ์Šค๋Š” ๊ฒ€์ƒ‰์„ ๋น ๋ฅด๊ฒŒ ํ•˜๋ ค๊ณ  ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์ด๋ฏธ์ง€์ ์œผ๋กœ ์ƒ‰์ธ๊ณผ ๊ฐ€๊น๋‹ค.

RDB์˜ ์ธ๋ฑ์Šค

RDB์˜ ์ธ๋ฑ์Šค๋Š” ์กฐ๊ธˆ ๋” ๋˜‘๋˜‘ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ๊ฒ€์ƒ‰์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. B+ํŠธ๋ฆฌ๋ฅผ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง„๋‹ค.

02

B+ํŠธ๋ฆฌ๋Š” ๋ฐ์ดํ„ฐ(์ธ๋ฑ์Šค์˜ ๊ฐ’)๊ฐ€ ์ €์žฅ๋œ ๋ฆฌํ”„ ๋…ธ๋“œ์™€ ๋ฆฌํ”„ ๋…ธ๋“œ๊นŒ์ง€์˜ ๊ฒฝ๋กœ ์—ญํ• ์„ ํ•˜๋Š” ๋…ผ๋ฆฌํ”„ ๋…ธ๋“œ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค. ๊ฒฝ๋กœ์˜ ์ถœ๋ฐœ์ ์ด ๋˜๋Š” ๋…ธ๋“œ๋Š” ๋ฃจํŠธ ๋…ธ๋“œ๋ผ๊ณ  ํ•œ๋‹ค. ๋…ผ๋ฆฌํ”„ ๋…ธ๋“œ์—๋Š” ์ž์‹ ๋…ธ๋“œ๊ฐ€ ๋ณด์œ ํ•˜๋Š” ๊ฐ’ ์ค‘์— ์ตœ์†Ÿ๊ฐ’์ด ์ €์žฅ๋ผ ์žˆ๋‹ค.

๋˜ํ•œ, ์ž์‹ ๋…ธ๋“œ์—๋Š” ํฌ์ธํ„ฐ(๋Œ€๋ถ€๋ถ„ ํŽ˜์ด์ง€ ID)๊ฐ€ ์ €์žฅ๋˜๊ณ  โ€˜์–ด๋–ค ๊ฒฝ๋กœ๋ฅผ ๊ฒ€์ƒ‰ํ•˜๋ฉด ์›ํ•˜๋Š” ์ธ๋ฑ์Šค๋ฅผ ์ฐพ๋Š”๊ฐ€โ€™๋ฅผ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

โ†’ B+ํŠธ๋ฆฌ์˜ ๊ฒ€์ƒ‰์€ ๋ฃจํŠธ ๋…ธ๋“œ์—์„œ ์–ด๋–ค ๋ฆฌํ”„ ๋…ธ๋“œ์— ์ด๋ฅด๋Š” ํ•œ ๊ฐœ์˜ ๊ฒฝ๋กœ๋งŒ ๊ฒ€์ƒ‰ํ•˜๋ฉด ๋˜๋ฏ€๋กœ ๊ต‰์žฅํžˆ ํšจ์œจ์ ์ด๋‹ค.

์ด ์„ฑ์งˆ์€ ์•„๋ฌด๋ฆฌ ํŠธ๋ฆฌ์˜ ํฌ๊ธฐ๊ฐ€ ํฌ๊ฑฐ๋‚˜ ๊ณ„์ธต์ด ์ฆ๊ฐ€ํ•ด๋„ ๋ณ€ํ•˜์ง€ ์•Š๋Š”๋‹ค.

B+ํŠธ๋ฆฌ ์ธ๋ฑ์Šค์—๋Š” ๋˜ ๋‹ค๋ฅธ ์žฌ๋ฏธ์žˆ๋Š” ํŠน์ง•์ด ์žˆ๋‹ค. ๊ทธ๊ฒƒ์€ ์ธ๋ฑ์Šค์— ์žˆ๋Š” ํ•ญ๋ชฉ์˜ ์ˆ˜๊ฐ€ ํ…Œ์ด๋ธ”์˜ ํ–‰ ์ˆ˜์™€ ๋˜‘๊ฐ™๋‹ค๋Š” ์ ์ด๋‹ค. โ†’ ํ…Œ์ด๋ธ”์˜ ํ–‰์ด ๋Š˜์–ด๋‚˜๋ฉด ์ธ๋ฑ์Šค๋„ ์ปค์ง„๋‹ค.

์ธ๋ฑ์Šค์˜ ์™ผ์ชฝ๊ณผ ๊ฒ€์ƒ‰ ๋ฒ”์œ„

B+ํŠธ๋ฆฌ ์ธ๋ฑ์Šค๋Š” ๋“ฑ๊ฐ€ ๋น„๊ต์™€ ๋ฒ”์œ„ ๊ฒ€์ƒ‰์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ๋“ฑ๊ฐ€ ๋น„๊ต๋Š” ํ‚ค์˜ ๊ฐ’์ด ์™„์ „ ์ผ์น˜ํ•˜๋Š” ํ–‰์„ ์ฐพ๋Š” ๊ฒƒ์ด๋‹ค. ๊ตฌ์ฒด์ ์œผ๋กœ WHERE key = 123์ฒ˜๋Ÿผ ๊ฐ™์Œ(=equal)์œผ๋กœ ๊ฒ€์ƒ‰ํ•œ๋‹ค. ๋ฒ”์œ„ ๊ฒ€์ƒ‰์€ ๋ถ€๋“ฑํ˜ธ๋‚˜ BETWEEN ์ ˆ์„ ์‚ฌ์šฉํ•ด ๋ฒ”์œ„๋ฅผ ์ง€์ •ํ•œ๋‹ค.

LIKE ์ ˆ์„ ์‚ฌ์šฉํ•œ ๊ฒ€์ƒ‰๋„ ๋ฒ”์œ„ ๊ฒ€์ƒ‰์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด WHERE key LIKE โ€˜a%โ€˜๋ฅผ ๊ฒ€์ƒ‰ํ•˜๋ฉด โ€˜aโ€™์ด์ƒ โ€˜bโ€™๋ฏธ๋งŒ์˜ ๋ฒ”์œ„์— ์žˆ๋Š” ํ•ญ๋ชฉ์ด ๊ฒ€์ƒ‰๋œ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ LIKE ์ ˆ์„ ์ด์šฉํ•œ ๊ฒ€์ƒ‰์€ ์™€์ผ๋“œ์นด๋“œ๋ฅผ ๋ฐฐ์น˜ํ•˜๋Š” ์œ„์น˜๊ฐ€ ๋ฌธ์ œ๊ฐ€ ๋œ๋‹ค.

์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•ด ๊ฒ€์ƒ‰ํ•  ๋•Œ ์™€์ผ๋“œ์นด๋“œ์˜ ์ง€์ •์€ ์ „๋ฐฉ ์ผ์น˜๋กœ ์™€์ผ๋“œ์นด๋“œ๊ฐ€ ๊ตฌ์ฒด์ ์ธ ๋ฌธ์ž์—ด ๋’ค์— ๋†“์•„์•ผ ํ•œ๋‹ค. ์ „๋ฐฉ ์ผ์น˜์—ฌ์•ผ ํ•˜๋Š” ์ด์œ ๋Š” B+ํŠธ๋ฆฌ์˜ ๋ฌผ๋ฆฌ์ ์ธ ๊ตฌ์กฐ ๋•Œ๋ฌธ์ด๋‹ค.

B+ํŠธ๋ฆฌ๋Š” ์™ผ์ชฝ์˜ ๋ฌธ์ž๋ถ€ํ„ฐ ์ˆœ์„œ๋Œ€๋กœ ์ •๋ ฌ๋ผ ์žˆ๋‹ค.

โ†’ ์™ผ์ชฝ ์ด์™ธ์˜ ๋ฌธ์ž๋กœ ์ธ๋ฑ์Šค๋ฅผ ๊ฒ€์ƒ‰ํ•˜๋Š” ๊ฒƒ์€ ๊ตฌ์กฐ์ ์œผ๋กœ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด ์ธ๋ฑ์Šค์—์„œ WHERE name LIKE โ€˜๊ฐ€%โ€™ ๋ผ๋Š” ์กฐ๊ฑด์œผ๋กœ ๊ฒ€์ƒ‰ํ•˜๋Š” ๊ฒฝ์šฐ

๋งจ ์•ž์˜ ๋ฌธ์ž๋ฅผ ์•Œ๊ณ  ์žˆ์œผ๋ฏ€๋กœ ๋…ผ๋ฆฌํ”„ ๋…ธ๋“œ๋ฅผ ๋ณด๋ฉด ๋ณด๋ฉด ์–ด๋–ค ์ž์‹ ๋…ธ๋“œ์— ํ•ด๋‹นํ•˜๋Š” ํ•ญ๋ชฉ์ด ์žˆ๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

๊ทธ๋Ÿฐ๋ฐ ํ›„๋ฐฉ ์ผ์น˜๋Š” WHERE name LIKE โ€˜%์–ธ์–ดโ€™์™€ ๊ฐ™์ด ์•ž์— ์™€์ผ๋“œ์นด๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋…ผ๋ฆฌํ”„ ๋…ธ๋“œ๋ฅผ ๋ด๋„ ํ•ด๋‹นํ•˜๋Š” ํ•ญ๋ชฉ์ด ์–ด๋””์— ์žˆ๋Š”์ง€ ์•Œ ์ˆ˜ ์—†๋‹ค. ๊ฐ’์„ ๊ฒ€์ƒ‰ํ•˜๋ ค๋ฉด ์ธ๋ฑ์Šค๋ฅผ ์Šค์บ”ํ•ด์•ผ ํ•œ๋‹ค.

์ค‘๊ฐ„ ์ผ์น˜๋„ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์Šค์บ”ํ•˜์ง€ ์•Š์œผ๋ฉด ๊ฐ’์„ ์•Œ ์ˆ˜ ์—†๋‹ค. WHERE name LIKE โ€˜%์–ธ์–ด%โ€™

๋‹ค์ค‘ ์ปฌ๋Ÿผ ์ธ๋ฑ์Šค(๋ณตํ•ฉ ์ธ๋ฑ์Šค)๋„ ๋ฌธ์ž์—ด์˜ LIKE ๊ฒ€์ƒ‰๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด (lastname, middlename, firstname)๋ผ๊ณ  ์ •์˜๋œ ์ธ๋ฑ์Šค๊ฐ€ ์žˆ์„ ๋•Œ ๋“ฑ๊ฐ€ ๋น„๊ต๋ผ๋„ middleindex์ด๋‚˜ first_name๋งŒ ์ง€์ •ํ•œ๋‹ค๋ฉด ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•ด ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์—†๋‹ค.

๊ฒ€์ƒ‰์— ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ์™ผ์ชฝ ๋์˜ ์ปฌ๋Ÿผ๋ถ€ํ„ฐ ์ˆœ์„œ๋Œ€๋กœ ์ธ๋ฑ์Šค๋ฅผ ์ง€์ •ํ•ด์•ผ ํ•œ๋‹ค.

์™ผ์ชฝ ๋์˜ ์ปฌ๋Ÿผ์˜ ๊ฐ’์ด ์ง€์ •๋˜๋ฉด ๋‚˜๋จธ์ง€ ๊ฐ’์€ ๋ชฐ๋ผ๋„ ๋ฒ”์œ„ ๊ฒ€์ƒ‰์— ์ธ๋ฑ์Šค๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด lastname, middlename์ด ์ง€์ •๋œ ๊ฒฝ์šฐ ์ „๋ฐฉ ์ผ์น˜๊ฐ€ ๋˜๊ณ  first_name์ด ์ง€์ •๋˜์ง€ ์•Š์•„๋„ ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•œ ๋ฒ”์œ„ ๊ฒ€์ƒ‰์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.

B+ํŠธ๋ฆฌ ์ธ๋ฑ์Šค๋Š” ์™ผ์ชฝ๋ถ€ํ„ฐ ์ˆœ์„œ๋Œ€๋กœ ๊ฐ’์„ ์ง€์ •ํ•˜์ง€ ์•Š์œผ๋ฉด ์†Œ์šฉ์—†๋‹ค๋Š” ์‚ฌ์‹ค์„ ๊ธฐ์–ตํ•ด์•ผํ•œ๋‹ค. ์—ญ์„ค์ ์ด์ง€๋งŒ ๋‹ค์ค‘ ์ปฌ๋Ÿผ ์ธ๋ฑ์Šค๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ฒฝ์šฐ ์ปฌ๋Ÿผ์˜ ์ˆœ์„œ๋Š” ๋งค์šฐ ์ค‘์š”ํ•˜๋‹ค.

๋ณด์กฐ ์ธ๋ฑ์Šค์˜ ๊ฐฑ์‹ 

๋Œ€๋ถ€๋ถ„ ๊ธฐ๋ณธํ‚ค์˜ ๊ฐ’์€ ํ•œ๋ฒˆ ๋ฐ์ดํ„ฐ๊ฐ€ ์‚ฝ์ž…๋œ ๋‹ค์Œ์—๋Š” ์ˆ˜์ •ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๊ฑฐ์˜ ์—†๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ๋ณด์กฐ ์ธ๋ฑ์Šค๋Š” ๊ฐฑ์‹ ์ด ์ž์ฃผ ์ผ์–ด๋‚  ์ˆ˜ ์žˆ๋‹ค. ์œ„ ๊ทธ๋ฆผ์—์„œ โ€˜๋ฐ์ดํ„ฐ ๊ตฌ์กฐโ€™๋ผ๋Š” ์ธ๋ฑ์Šค ํ•ญ๋ชฉ์„ โ€˜๊ฐ์ฒดโ€™๋กœ ๋ฐ”๊พธ๋Š” ์ฒ˜๋ฆฌ๋ฅผ ์ƒ๊ฐํ•ด๋ณด์ž.

์–ด๋–ค ๋ฆฌํ”„ ๋…ธ๋“œ์—์„œ โ€˜๋ฐ์ดํ„ฐ ๊ตฌ์กฐโ€™๋ผ๋Š” ํ•ญ๋ชฉ์„ ์ง€์šฐ๊ณ  ๋‹ค๋ฅธ ๋ฆฌํ”„ ๋…ธ๋“œ์— โ€˜๊ฐ์ฒดโ€™๋ผ๋Š” ํ•ญ๋ชฉ์„ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™๋‹ค.

โ†’ ๋ณด์กฐ ์ธ๋ฑ์Šค์˜ ๊ฐฑ์‹ ์€ ์‚ญ์ œ์™€ ์‚ฝ์ž…์˜ ์ฒ˜๋ฆฌ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ๊ณผ ๋น„์šฉ์ ์œผ๋กœ๋Š” ๋‹ค๋ฅด์ง€ ์•Š๋‹ค.

์ธ๋ฑ์Šค๋ฅผ ๊ฐฑ์‹ ํ•˜๋Š” ๋น„์šฉ์ด ๋น„์‹ธ๋‹ค๋Š” ๊ฒƒ์„ ๊ธฐ์–ตํ•˜์ž. ์ธ๋ฑ์Šค๊ฐ€ ๋Š˜์–ด๋‚˜๋ฉด ๋Š˜์–ด๋‚ ์ˆ˜๋ก ๊ฐ์ข… ๊ฐฑ์‹ ์— ๋“œ๋Š” ์˜ค๋ฒ„ํ—ค๋“œ๋Š” ์ฆ๊ฐ€ํ•˜๊ฒŒ ๋œ๋‹ค.

2. ์ธ๋ฑ์Šค์˜ ์ข…๋ฅ˜

์ธ๋ฑ์Šค๋Š” B+ํŠธ๋ฆฌ์ด๋ฉฐ, DB ์„ค๊ณ„ ์‹œ์— B+์ธ๋ฑ์Šค ์ด์™ธ์˜ ์ธ๋ฑ์Šค๋ฅผ ์ฑ„์šฉํ•˜๋Š” ๊ฒฝ์šฐ๋Š” ๋“œ๋ฌผ๋‹ค. ์–ด๋–ค ์ธ๋ฑ์Šค๊ฐ€ ๊ตฌํ˜„๋ผ ์žˆ๋Š”์ง€๋Š” RDB ์ œํ’ˆ์— ๋”ฐ๋ผ ๋‹ค๋ฅด๋‹ค. ์„ฑ๋Šฅ๊ณผ ํŠน์ง•์€ ์ œํ’ˆ์— ๋”ฐ๋ผ ๋‹ค๋ฅด๋ฏ€๋กœ ์ž˜ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ์ œํ’ˆ์„ ์ˆ™์ง€ํ•ด์•ผ ํ•œ๋‹ค.

ํ•ด์‹œ ์ธ๋ฑ์Šค

ํ•ด์‹œ ์ธ๋ฑ์Šค๋Š” ํ•ด์‹œ ํ…Œ์ด๋ธ”์„ ์ด์šฉํ•œ ์ธ๋ฑ์Šค๋‹ค. ํ•ด์‹œ๊ฐ’์„ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ ๋ฒ”์œ„ ๊ฒ€์ƒ‰์—๋Š” ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค.

โ†’ ํ•ด์‹œ ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์€ ๋“ฑ๊ฐ€ ๋น„๊ต์— ์˜ํ•œ ๊ฒ€์ƒ‰๋ฟ์ด์ง€๋งŒ ๊ฒ€์ƒ‰ ์†๋„๊ฐ€ ๊ต‰์žฅํžˆ ๋น ๋ฅด๋‹ค๋Š” ํŠน์„ฑ์ด ์žˆ๋‹ค.

์‚ฌ์šฉ์ฒ˜๋Š” ๊ฐ„๋‹จํ•˜์—ฌ ๋“ฑ๊ฐ€ ๋น„๊ต๋งŒ ํ•„์š”ํ•˜๊ณ  ๋ฒ”์œ„ ๊ฒ€์ƒ‰์€ ํ•„์š” ์—†๋Š” ๊ณณ์ด๋ฉฐ, RDB ์ œํ’ˆ์ด ์ง€์›ํ•œ๋‹ค๋ฉด ์‚ฌ์šฉ์„ ๊ฒ€ํ† ํ•˜๋Š” ๊ฒƒ๋„ ์ข‹๋‹ค.

ํ•ด์‹œ ์ธ๋ฑ์Šค๋Š” ๋ฒ”์œ„ ๊ฒ€์ƒ‰์„ ํ•  ์ˆ˜ ์—†์–ด์„œ B+ํŠธ๋ฆฌ ์ธ๋ฑ์Šค์™€ ๊ฐ™์ด ํ‚ค์˜ ์™ผ์ชฝ ๋์„ ์ง€์ •ํ•ด ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์“ธ ์ˆ˜ ์—†๋‹ค. ๋‹ค์ค‘ ์ปฌ๋Ÿผ ์ธ๋ฑ์Šค์—๋„ ํ•ด์‹œ ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค.

โ†’ ํ‚ค์— ํฌํ•จ๋œ ์ปฌ๋Ÿผ ๋ชจ๋‘์— ๋Œ€ํ•ด์„œ ๋“ฑ๊ฐ€ ๋น„๊ต๋ฅผ ํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

์ „๋ฌธ ๊ฒ€์ƒ‰ ์ธ๋ฑ์Šค

B+ํŠธ๋ฆฌ ์ธ๋ฑ์Šค๋Š” ํ›„๋ฐฉ ์ผ์น˜๋‚˜ ์ค‘๊ฐ„ ์ผ์น˜ ๋“ฑ์„ ์ž˜ ์ฒ˜๋ฆฌํ•˜์ง€ ๋ชปํ•œ๋‹ค. ๊ทธ๋ ‡์ง€๋งŒ ์‹ค์ œ ์‘์šฉํ”„๋กœ๊ทธ๋žจ์—์„œ๋Š” โ€˜xx ๋ผ๋Š” ๋‹จ์–ด๋ฅผ ํฌํ•จํ•œ ํ–‰์„ ๊ฒ€์ƒ‰โ€™์™€ ๊ฐ™์€ ์š”๊ตฌ๊ฐ€ ๋งŽ๋‹ค. ์ด๋Ÿฐ ์š”๊ตฌ์— ์‘ํ•˜๋Š” ๊ฒƒ์ด ์ „๋ฌธ ๊ฒ€์ƒ‰(ํ’€ ํ…์ŠคํŠธ)์ธ๋ฑ์Šค๋‹ค.

์ „๋ฌธ ๊ฒ€์ƒ‰ ์ธ๋ฑ์Šค๋Š” ์ „์น˜ ์ธ๋ฑ์Šค๋กœ ๊ตฌํ˜„๋œ๋‹ค. ์ „์น˜ ์ธ๋ฑ์Šค๋ž€ ํ–‰์— ํฌํ•จ๋œ ๋‹จ์–ด๋‚˜ ๋ถ€๋ถ„ ๋ฌธ์ž์—ด์— ๊ทธํ–‰์˜ ํฌ์ธํ„ฐ(ROWID๋‚˜ ํด๋Ÿฌ์Šคํ„ฐ ์ธ๋ฑ์Šค์˜ ๊ฒฝ์šฐ์—๋Š” ๊ธฐ๋ณธํ‚ค)๊ฐ€ ์ €์žฅ๋œ ๊ตฌ์กฐ์˜ ์ธ๋ฑ์Šค๋‹ค. ๋ฌผ๋ก  ๋‹จ์–ด์™€ ํ–‰์€ 1:1๋กœ ๋Œ€์‘ํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ ์ „์น˜ ์ธ๋ฑ์Šค์˜ ํ•ญ๋ชฉ ์ˆ˜๋Š” ํ…Œ์ด๋ธ”์˜ ํ–‰ ์ˆ˜๋ณด๋‹ค ํ›จ์”ฌ ๋งŽ์•„์ง„๋‹ค.

์ „์น˜ ์ธ๋ฑ์Šค

row_id text
1 Relational Model
2 Model View Controller
3 Materialized View
word row_id
Controller 2
Materialized 3
Model 1
Model 2
Relational 1
View 1
View 2

์ŠคํŽ˜์ด์Šค๋กœ ๋‹จ์–ด๊ฐ€ ๊ตฌ๋ถ„๋˜๋Š” ์˜์–ด์™€ ๊ฐ™์€ ์–ธ์–ด๋ผ๋ฉด ๋ฌธ์žฅ์—์„œ ๋‹จ์–ด๋ฅผ ๊ตฌ๋ถ„ํ•˜๋Š” ๊ฒƒ์€ ๊ฐ„๋‹จํ•˜๋‹ค. ํ•˜์ง€๋งŒ ๋„์–ด์“ฐ๊ธฐ๊ฐ€ ์—†๋Š” ์–ธ์–ด์—์„œ๋Š” ์ „์น˜ ์ธ๋ฑ์Šค๋ฅผ ์–ด๋–ป๊ฒŒ ์ž‘์„ฑํ•ด์•ผ ํ• ๊นŒ?

โ†’ ๊ฐ ํ–‰์— ํฌํ•จ๋œ ํ…์ŠคํŠธ์—์„œ ๋‹จ์–ด๋ฅผ ์–ด๋–ป๊ฒŒ ๊ตฌ๋ถ„ํ•˜๋Š”์ง€๊ฐ€ ๊ณผ์ œ๋‹ค.

ํ˜•ํƒœ ๋ถ„์„๋ฒ•

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

ํ•œํŽธ ํ˜•ํƒœ ๋ถ„์„๋ฒ•์˜ ๋‹จ์ ์œผ๋กœ ๋‹จ์–ด๋ฅผ ์ถ”์ถœํ•˜๋Š” ๋Šฅ๋ ฅ์˜ ํ•œ๊ณ„๋‹ค. ์‚ฌ์ „์— ์‹ค๋ ค ์žˆ์ง€ ์•Š์€ ๋‹จ์–ด๋Š” ์ถ”์ถœํ•  ์ˆ˜ ์—†๋‹ค. ๋˜ํ•œ, ๊ตฌ๋ถ„ ๋ฐฉ๋ฒ•์— ๋”ฐ๋ผ์„œ ์˜๋ฏธ๊ฐ€ ๋‹ฌ๋ผ์ง€๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๊ณ  ์–ด๋Š ์ชฝ ๋‹จ์–ด๋ฅผ ์ถ”์ถœํ•ด์•ผ ์ข‹์€์ง€ ์•Œ ์ˆ˜ ์—†๋‹ค๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค. ex) ์•„๋ฒ„์ง€๊ฐ€๋ฐฉ์—๋“ค์–ด๊ฐ€์‹ ๋‹ค

์–‘์ชฝ์˜ ๋‹จ์–ด์— ์ „์น˜ ์ธ๋ฑ์Šค๋ฅผ ์ž‘์„ฑํ•˜๋ฉด ์–‘์ชฝ ๋‹จ์–ด ๋ชจ๋‘ ๊ฒ€์ƒ‰์— ๊ฑธ๋ฆฌ๋ฏ€๋กœ ์˜๋„ํ•˜์ง€ ์•Š์€ ๊ฒฐ๊ณผ๊ฐ€ ๋ฐ˜ํ™˜๋ ์ง€๋„ ๋ชจ๋ฅธ๋‹ค. ๋˜ํ•œ, ๋ถ„์„์˜ ์ •ํ™•๋„๊ฐ€ ์™„์ „ํ•˜์ง€ ์•Š์•„์„œ ๊ตฌ์–ด์ฒด ๋“ฑ์€ ์ž˜ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์–ด๋ ค์šธ ๋•Œ๋„ ์žˆ๋‹ค.

์ด ์ด์œ ๋กœ ๊ฒ€์ƒ‰์— ์‹ค์ˆ˜๊ฐ€ ๋ฐœ์ƒํ•˜๊ฑฐ๋‚˜ ์‚ฌ์ „์˜ ํ’ˆ์งˆ์— ๋”ฐ๋ผ ๊ฒ€์ƒ‰์˜ ์ •ํ™•๋„๊ฐ€ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ๋‹ค.

N ๊ทธ๋žจ

N ๊ทธ๋žจ์€ ๋ฌธ์žฅ์„ ๋‹จ์ˆœํžˆ N ๋ฌธ์ž์”ฉ ๋ถ€๋ถ„ ๋ฌธ์ž์—ด๋กœ ๋‚˜๋ˆ„๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. N์—๋Š” ๋‹จ์–ด๋ฅผ ๊ตฌ๋ถ„ํ•˜๋Š” ๋ฌธ์ž์˜ ํฌ๊ธฐ๋ฅผ ์ง€์ •ํ•œ๋‹ค. 2๋ฌธ์ž์˜ ๊ฒฝ์šฐ๋Š” ๋ฐ”์ด๊ทธ๋žจ, 3๋ฌธ์ž์˜ ๊ฒฝ์šฐ๋Š” ํŠธ๋ฆฌ๊ทธ๋žจ์ด๋ผ๊ณ  ํ•œ๋‹ค.

ํ˜•ํƒœ ๋ถ„์„๋ฒ•์ฒ˜๋Ÿผ ๋‹จ์–ด ๋‹จ์œ„๋กœ ๋ถ€๋ถ„ ๋ฌธ์ž์—ด์„ ์ถ”์ถœํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ ์˜๋ฏธ๊ฐ€ ์—†๋Š” ๋ฌธ์ž์—ด๋กœ ์ž˜๋ฆด ๋•Œ๊ฐ€ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋ฐ”์ด๊ทธ๋žจ์ด๋ผ๋ฉด โ€˜์™ธ๊ตญ์ธ์ฐธ์ •๊ถŒโ€™ ์ด๋ผ๋Š” ๋‹จ์–ด๋Š” โ€˜์™ธ๊ตญโ€™, โ€˜๊ตญ์ธโ€™, โ€˜์ธ์ฐธโ€™, โ€˜์ฐธ์ •โ€™, โ€˜์ •๊ถŒโ€™์˜ 5๊ฐœ์˜ ๋ถ€๋ถ„ ๋ฌธ์ž์—ด๋กœ ๋ถ„ํ•ด๋œ๋‹ค.์ด๋กœ ์ธํ•ด ์˜๋„ํ•˜์ง€ ์•Š์€ โ€˜์ธ์ฐธโ€™์ด๋ผ๋Š” ๋‹จ์–ด๋„ ๊ฒ€์ƒ‰์ด ๋œ๋‹ค.

N ๊ทธ๋žจ์€ ํฌ๊ด„์ ์ด์ง€๋งŒ ๊ฒ€์ƒ‰ ๋…ธ์ด์ฆˆ๊ฐ€ ๋งŽ๋‹ค๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค. ๋˜ํ•œ, ์ƒ๋‹นํžˆ ๋งŽ์€ ๋ฌธ์ž์—ด๋กœ ๋ถ„ํ•ดํ•˜๋ฏ€๋กœ ์ธ๋ฑ์Šค์˜ ํฌ๊ธฐ๋„ ์ปค์ง„๋‹ค.

RํŠธ๋ฆฌ ์ธ๋ฑ์Šค

RํŠธ๋ฆฌ ์ธ๋ฑ์Šค๋Š” ์ง€๋„์ƒ์˜ ์ง€์ ์„ ๊ฒ€์ƒ‰ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•˜๋Š” ์ธ๋ฑ์Šค๋‹ค. ๊ณต๊ฐ„(Spatial) ์ธ๋ฑ์Šค๋ผ๊ณ ๋„ ํ•˜๋ฉฐ ํ•œ ๊ฐœ์˜ ํ‰๋ฉด์—์„œ ์–ด๋–ค ๋„ํ˜•์ด ๋‹ค๋ฅธ ๋„ํ˜•์— ํฌํ•จ๋˜๋Š”์ง€? ์ค‘๋ณต๋˜๋Š”์ง€ ๋“ฑ์„ ํŒ๋ณ„ํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

RํŠธ๋ฆฌ์˜ R์€ Rectangle์˜ ์•ž ๋ฌธ์ž๋กœ ์ตœ์†Œ ๊ฒฝ๊ณ„ ์‚ฌ๊ฐํ˜•(Minimum Bounding Rectangle, MBR)์ด๋ผ๋Š” ๊ฐœ๋…์„ ์‚ฌ์šฉํ•ด ์ธ๋ฑ์Šค๋ฅผ ๊ตฌ์„ฑํ•œ๋‹ค. MBR์ด๋ž€ ์–ด๋–ค ๋„ํ˜•์„ ๋‘˜๋Ÿฌ ์‹ผ ์ตœ์†Œ์˜ ์‚ฌ๊ฐํ˜•(์ง์‚ฌ๊ฐํ˜•)์ด๋‹ค.

03

RํŠธ๋ฆฌ๋ฅผ ๊ตฌ์„ฑํ•˜๋ ค๋ฉด ๋จผ์ € ์š”์†Œ๊ฐ€๋˜๋Š” ๋„ํ˜• ์ „๋ถ€๋ฅผ MBR๋กœ ๋ฐ”๊พผ๋‹ค. ๋‹ค์Œ์€ ์ฃผ๋ณ€์— ์žˆ๋Š” ์ž„์˜์˜ ์‚ฌ๊ฐํ˜•์„ ๋ชจ๋‘ ํฌํ•จํ•˜๋Š” ์‚ฌ๊ฐํ˜•์„ ์ƒˆ๋กญ๊ฒŒ ์ž‘์„ฑํ•œ๋‹ค. ์ด ์‚ฌ๊ฐํ˜•์€ ๋‚ด๋ถ€์— ํฌํ•จ๋œ ์‚ฌ๊ฐํ˜•์˜ ๋ถ€๋ชจ ๋…ธ๋“œ๊ฐ€ ๋œ๋‹ค.

์ž์‹ ๋…ธ๋“œ๊ฐ€ ๋˜๋Š” MBR์ด ๋งŽ์€ ๊ฒฝ์šฐ ๊ฑฐ๋ฆฌ๊ฐ€ ๋–จ์–ด์ ธ ์žˆ๋Š” ์ž์‹ ๋…ธ๋“œ MBR์„ ๊ฐ๊ฐ ๋‹ค๋ฅธ ๋ถ€๋ชจ ๋…ธ๋“œ MBR์— ํฌํ•จ์‹œํ‚จ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜์—ฌ ๋ชจ๋“  ์ž์‹ ๋…ธ๋“œ MBR์ด ์–ด๋”˜๊ฐ€์˜ ๋ถ€๋ชจ ๋…ธ๋“œ MBR์— ํฌํ•จ๋˜๊ฒŒ ํ•œ๋‹ค. ๋ถ€๋ชจ ๋…ธ๋“œ์— ํฌํ•จ๋œ ์ž์‹ ๋…ธ๋“œ๋Š” ์ ๋‹นํ•œ ์ˆ˜๊ฐ€ ๋˜๋„๋ก ์กฐ์ •ํ•œ๋‹ค.

๋ถ€๋ชจ ๋…ธ๋“œ์˜ ์ˆ˜๊ฐ€ ๋งŽ์„ ๋•Œ๋Š” ์ƒ์œ„์˜ ๋ถ€๋ชจ ๋…ธ๋“œ๊ฐ€ ๋˜๋Š” MBR์„ ๋งŒ๋“ค๋„๋ก ํŠธ๋ฆฌ๋ฅผ ๊ตฌ์„ฑํ•œ๋‹ค. ์ตœ์ข…์ ์œผ๋กœ ๋ชจ๋“  ์‚ฌ๊ฐํ˜•์„ ๋‚ด๋ถ€์— ํฌํ•จํ•˜๋Š” MBR์ด ๋ฃจํŠธ ๋…ธ๋“œ๊ฐ€ ๋œ๋‹ค.

04

ํ•จ์ˆ˜ ์ธ๋ฑ์Šค

์ผ๋ฐ˜์ ์œผ๋กœ WHERE year(date_col) = 2013๊ณผ ๊ฐ™์ด ์ปฌ๋Ÿผ ๊ฐ’์— ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•œ WHERE ์ ˆ์€ B+ํŠธ๋ฆฌ ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•œ ๊ฒ€์ƒ‰์„ ํ•  ์ˆ˜ ์—†๋‹ค. ํ•จ์ˆ˜๋ฅผ ์ ์šฉํ•œ ์ฟผ๋ฆฌ์—๋„ ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์„ ๋•Œ ํŽธ๋ฆฌํ•œ ๊ฒƒ์ด ํ•จ์ˆ˜ ์ธ๋ฑ์Šค๋‹ค.

์ผ๋ฐ˜ ์ธ๋ฑ์Šค๋Š” ํ…Œ์ด๋ธ” ๋‚ด์˜ ์ปฌ๋Ÿผ์˜ ๊ฐ’ ์ž์ฒด์— ์ธ๋ฑ์Šค๋ฅผ ์ƒ์„ฑํ•˜์ง€๋งŒ, ํ•จ์ˆ˜ ์ธ๋ฑ์Šค๋Š” year(date_col)๊ณผ ๊ฐ™์ด ํ•จ์ˆ˜๋ฅผ ํ‰๊ฐ€ํ•œ ๋‹ค์Œ์˜ ๊ฐ’์— ๋Œ€ํ•ด B+ํŠธ๋ฆฌ ์ธ๋ฑ์Šค๋ฅผ ์ž‘์„ฑํ•œ๋‹ค.

โ†’ ํ•จ์ˆ˜๋ฅผ ํ‰๊ฐ€ํ•œ ๊ฐ’์„ ์‚ฌ์šฉํ•ด ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ WHERE year(date_col) = 2013์ด๋ผ๋Š” ๊ฒ€์ƒ‰ ์กฐ๊ฑด๋„ ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋œ๋‹ค.

๋น„ํŠธ๋งต ์ธ๋ฑ์Šค

OLAP(Online Analytical Processing, ์˜จ๋ผ์ธ ๋ถ„์„ ์ฒ˜๋ฆฌ) ๋“ฑ์— ์‚ฌ์šฉ๋˜๋Š” ์ธ๋ฑ์Šค๋‹ค.

B+ํŠธ๋ฆฌ ์ธ๋ฑ์Šค๋Š” ํ–‰๋ณ„๋กœ ๋Œ€์‘ํ•˜๋Š” ์ธ๋ฑ์Šค ํ•ญ๋ชฉ์ด ์ƒ์„ฑ๋˜๊ณ  ๊ฐ ํ•ญ๋ชฉ์— ํ–‰์˜ ํฌ์ธํ„ฐ(๋˜๋Š” ROWID)๊ฐ€ ์ €์žฅ๋œ๋‹ค. ๋น„ํŠธ๋งต ์ธ๋ฑ์Šค๋Š” ์ด๊ฒƒ๊ณผ๋Š” ๋‹ค๋ฅด๋‹ค.

์ปฌ๋Ÿผ๋ณ„๋กœ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋น„ํŠธ๋งต์ด ์ƒ์„ฑ๋œ๋‹ค. ์ปฌ๋Ÿผ๋ณ„๋กœ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋น„ํŠธ๋งต์ด ์ƒ์„ฑ๋œ๋‹ค. ๋น„ํŠธ ์ค‘์— 1์ด ์žˆ์œผ๋ฉด ๊ทธ ํ–‰์˜ ๊ฐ’์ด ๋น„ํŠธ๋งต์˜ ๊ฐ’์ด ๋˜์–ด ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ๋‚˜ํƒ€๋‚ธ๋‹ค.

๋น„ํŠธ๋งต ์ธ๋ฑ์Šค

name grade
์ด์œ ์ • 1
์ •์€์˜ค 2
ํ•œํ˜œ๋ฆฐ 4
ํ™์œค์„œ 3
์„œ์ •์€ 2
์ •์Šนํšจ 3
๋ฐฑํ•˜์€ 4
value bitmap
1 1000000
2 0100100
3 0001010
4 0010001

grade๊ฐ€ 2์ธ ๋น„ํŠธ๋งต์€ 2๋ฒˆ์งธ์™€ 5๋ฒˆ์งธ์˜ ๋น„ํŠธ๊ฐ€ 1์ด๋ฏ€๋กœ 2๋ฒˆ์งธ์™€ 5๋ฒˆ์งธ ํ–‰์˜ ํ•™์ƒ์ด 2ํ•™๋…„์ด๋ผ๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ๊ฐ ๋น„ํŠธ๋งต์€ B+ํŠธ๋ฆฌ์— ๋น„ํ•ด ํ›จ์”ฌ ํฌ๊ธฐ๊ฐ€ ์ž‘์•„์ง€๋ฏ€๋กœ ์ธ๋ฑ์Šค ์Šค์บ”์ด ๋งค์šฐ ๋น ๋ฅด๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ๋น„ํŠธ๋งต์˜ ๊ฐฑ์‹ ์— ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฌ๋ฏ€๋กœ OLTP(Online Transaction Processing, ์˜จ๋ผ์ธ ํŠธ๋žœ์žญ์…˜ ์ฒ˜๋ฆฌ)์™€ ๊ฐ™์ด ๊ฐฑ์‹ ์ด ๋งŽ์€ ์ž‘์—…์—๋Š” ์ ํ•ฉํ•˜์ง€ ์•Š๋‹ค. ๋˜ํ•œ, ์ปฌ๋Ÿผ์ด ์–ป๋Š” ๊ฐ’์ด ๋งŽ์„ ๋•Œ๋„ ํ•„์š”ํ•œ ๋น„ํŠธ๋งต์˜ ์ˆ˜๊ฐ€ ์ฆ๊ฐ€ํ•˜๋ฏ€๋กœ ์›ํ•˜๋Š” ์„ฑ๋Šฅ์ด ๋‚˜์˜ค์ง€ ์•Š์„ ์ˆ˜ ์žˆ๋‹ค.

ํด๋Ÿฌ์Šคํ„ฐ ์ธ๋ฑ์Šค

ํ…Œ์ด๋ธ” ์ž์ฒด๊ฐ€ ์ธ๋ฑ์Šค ๋˜์–ด ์žˆ๋Š” ๊ฒƒ์„ ํด๋Ÿฌ์Šคํ„ฐ ์ธ๋ฑ์Šค ๋˜๋Š” ์ธ๋ฑ์Šค ๊ตฌ์„ฑ ํ…Œ์ด๋ธ”(Index Organized Table)์ด๋ผ๊ณ  ํ•œ๋‹ค.

ํด๋Ÿฌ์Šคํ„ฐ ์ธ๋ฑ์Šค๋Š” ๊ธฐ๋ณธํ‚ค์˜ ๋ฆฌํ”„ ๋…ธ๋“œ์— ํ‚ค ๊ฐ’๋ฟ ์•„๋‹ˆ๋ผ ๋‹ค๋ฅธ ์ปฌ๋Ÿผ์˜ ๊ฐ’๋„ ๊ฐ™์ด ์ €์žฅํ•œ๋‹ค. ๋”ฐ๋ผ์„œ ๊ธฐ๋ณธํ‚ค์— ๊ฐ’์„ ๊ฒ€์ƒ‰ํ•˜๋ฉด ๊ฐ™์€ ํŽ˜์ด์ง€์— ๋ฐ์ดํ„ฐ๊ฐ€ ๋“ค์–ด์žˆ์–ด์„œ ์ž์ฒด์— ์—‘์„ธ์Šค ํ•  ํ•„์š”๊ฐ€ ์—†์œผ๋ฏ€๋กœ ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ์ค„์–ด๋“ ๋‹ค.

ํ•œํŽธ ๋ณด์กฐ ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•œ ๊ฒ€์ƒ‰, ์ฆ‰ ์ผ๋ฐ˜์ ์ธ ํ…Œ์ด๋ธ”์€ ํ–‰์˜ ํฌ์ธํ„ฐ(ํŽ˜์ด์ง€ ๋ฒˆํ˜ธ, ์˜คํ”„์…‹ ๋“ฑ)๋กœ ์—‘์„ธ์Šคํ•˜๋ฉด ๋˜๋ฏ€๋กœ 1ํŽ˜์ด์ง€๋งŒ ์—‘์„ธ์Šคํ•˜๋ฉด ๋˜์ง€๋งŒ, ํด๋Ÿฌ์Šคํ„ฐ ์ธ๋ฑ์Šค๋Š” ํŠธ๋ฆฌ๋ฅผ ๊ฑฐ์น˜์ง€ ์•Š์œผ๋ฉด ์•ˆ ๋˜๋ฏ€๋กœ ์•ฝ๊ฐ„ ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ์ปค์ง„๋‹ค. ๊ธฐ๋ณธํ‚ค์— ์˜ํ•œ ์—‘์„ธ์Šค๊ฐ€ ๋ฉ”์ธ์ด๋ผ๋ฉด(RDB ์ œํ’ˆ์ด ํด๋Ÿฌ์Šคํ„ฐ ์ธ๋ฑ์Šค๋ฅผ ์ง€์›ํ•˜๋Š” ๊ฒฝ์šฐ) ํด๋Ÿฌ์Šคํ„ฐ ์ธ๋ฑ์Šค๋Š” ๋งค์šฐ ์ข‹์€ ์„ ํƒ์ง€๊ฐ€ ๋  ๊ฒƒ์ด๋‹ค.

MySQL์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” InnoDB ์Šคํ† ๋ฆฌ์ง€ ์—”์ง„์€ ๋ชจ๋“  ํ…Œ์ด๋ธ”์ด ํด๋Ÿฌ์Šคํ„ฐ ์ธ๋ฑ์Šค๋กœ ์ž‘์„ฑ๋˜๋ฉฐ ๊ทธ ์™ธ์˜ ๊ตฌ์กฐ๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์—†๋‹ค.

3. ํŒŒํ‹ฐ์…”๋‹

ํŒŒํ‹ฐ์…”๋‹์ด๋ž€

์ธ๋ฑ์Šค๋Š” ์ž„์˜์˜ ํ‚ค ๊ฐ’์— ๋”ฐ๋ผ์„œ ํ–‰ ๋ฐ์ดํ„ฐ์˜ ์œ„์น˜๋ฅผ ์‹๋ณ„ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋Šฅ์ด๋‹ค. ํ•œํŽธ ํŒŒํ‹ฐ์…”๋‹์€ ํ…Œ์ด๋ธ”์„ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํŒŒํ‹ฐ์…˜์œผ๋กœ ๋ถ„ํ• ํ•˜๊ณ  ํ‚ค์˜ ๊ฐ’์— ๋”ฐ๋ผ ์–ด๋–ค ํŒŒํ‹ฐ์…˜์— ์†ํ•˜๋Š” ํ–‰์ธ์ง€ ๋ฐฐ๋ถ„ํ•œ๋‹ค.

ํŒŒํ‹ฐ์…˜์€ ๊ฐ๊ฐ ๊ฐ™์€ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง„ ํ…Œ์ด๋ธ”์ด๋ฉฐ ์ธ๋ฑ์Šค๋„ ํŒŒํ‹ฐ์…˜๋งˆ๋‹ค ์กด์žฌํ•œ๋‹ค.

05

์„ธ ๊ฐœ์˜ ํŒŒํ‹ฐ์…˜์ด ์ •์˜๋ผ ์žˆ๊ณ  ๋‚ ์งœ์— ๋”ฐ๋ผ ํŒŒํ‹ฐ์…˜์ด ๋‚˜๋‰˜์–ด์ ธ ์žˆ์„ ๊ฒƒ์ด๋‹ค. ์–ด๋–ค ํŒŒํ‹ฐ์…˜์— ์†ํ•  ๊ฒƒ์ธ์ง€ ์ •ํ•˜๋Š” ํ‚ค(ํŒŒํ‹ฐ์…˜ ํ‚ค)๋ฅผ ๊ฒ€์ƒ‰ ์กฐ๊ฑด์œผ๋กœ ์ง€์ •ํ•˜๋ฉด ํ•ด๋‹น ํŒŒํ‹ฐ์…˜๋งŒ ๊ฒ€์ƒ‰ํ•˜๋ฉด ๋˜๋ฏ€๋กœ ๊ฒ€์ƒ‰ ํšจ์œจ์ด ํ–ฅ์ƒ๋œ๋‹ค.

์ด์ฒ˜๋Ÿผ ๊ฒ€์ƒ‰ ๋Œ€์ƒ ํŒŒํ‹ฐ์…˜์„ ์ขํ˜€๊ฐ€๋Š” ๋™์ž‘์„ ํŒŒํ‹ฐ์…˜ ํ”„๋ฃจ๋‹(Patition Pruning)์ด๋ผ๊ณ  ํ•œ๋‹ค. ํ”„๋ฃจ๋‹์€ ๊ฐ€์ง€์น˜๊ธฐ๋ฅผ ์˜๋ฏธํ•œ๋‹ค.

ํŒŒํ‹ฐ์…˜ ํ”„๋ฃจ๋‹์€ ๋ฒ”์œ„ ๊ฒ€์ƒ‰์—๋„ ์œ ์šฉํ•˜๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด

key BETWEEN '2013-10-01' AND '2014-02-01';

์กฐ๊ฑด์„ ๋‹ฌ๋ฉด ํ•ด๋‹นํ•˜๋Š” ํŒŒํ‹ฐ์…˜๋งŒ ๊ฒ€์ƒ‰ ๋Œ€์ƒ์ด ๋  ๊ฒƒ์ด๋‹ค.

๋˜ํ•œ ๊ฐ ํŒŒํ‹ฐ์…˜์—๋Š” ๊ฐ ์ธ๋ฑ์Šค๊ฐ€ ์žˆ์œผ๋ฏ€๋กœ ํŒŒํ‹ฐ์…˜ ํ”„๋ฃจ๋‹์„ ํ•œ ๋‹ค์Œ์— ๋Œ€์ƒ์˜ ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•œ ๊ฒ€์ƒ‰์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค. ํŒŒํ‹ฐ์…”๋‹์€ ์–ด๋–ค ๋ฐฉ๋ฒ•์œผ๋กœ ๋ถ„ํ• ํ•  ๊ฒƒ์ธ์ง€์— ๋”ฐ๋ผ ์„ธ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์œผ๋กœ ๋‚˜๋‰ ์ˆ˜ ์žˆ๋‹ค.

  • ๋ ˆ์ธ์ง€: ํ‚ค์˜ ๋ฒ”์œ„๊ฐ€ ์–ด๋””์— ์žˆ๋Š”์ง€์— ๋”ฐ๋ผ ํŒŒํ‹ฐ์…˜์„ ์ •ํ•œ๋‹ค. (๋‚ ์งœ๋ณ„๋กœ ๋ฐ์ดํ„ฐ ๋‚˜๋ˆŒ ๋•Œ)
  • ๋ฆฌ์ŠคํŠธ: ์‚ฌ์ „์— ๋ถ€์—ฌ๋œ ํ‚ค์˜ ๊ฐ’์— ๋”ฐ๋ผ ํŒŒํ‹ฐ์…˜์„ ์ •ํ•œ๋‹ค. (์ปฌ๋Ÿผ์˜ ๊ฐ’์ด ์•„์ฃผ ์ ์„ ๋•Œ)
  • ํ•ด์‹œ: ํ‚ค๋กœ ๊ณ„์‚ฐํ•œ ํ•ด์‹œ๊ฐ’์˜ ๋‚˜๋จธ์ง€ ์—ฐ์‚ฐ ๋“ฑ์— ๋”ฐ๋ผ ํŒŒํ‹ฐ์…˜์„ ์ •ํ•œ๋‹ค. ํ‚ค๊ฐ€ ์ •์ˆ˜์ผ ๋•Œ ํ‚ค ํŒŒํ‹ฐ์…”๋‹์ด๋ผ ํ•œ๋‹ค.

ํŒŒํ‹ฐ์…”๋‹์ด ์ ํ•ฉํ•œ ๊ฒฝ์šฐ

ํŒŒํ‹ฐ์…”๋‹์„ ์‚ฌ์šฉํ• ์ง€์˜ ๊ฐ€์žฅ ํฐ ํŒ๋‹จ ๊ธฐ์ค€์€ ํŒŒํ‹ฐ์…˜ ํ”„๋ฃจ๋‹์„ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒ€์ƒ‰ ์กฐ๊ฑด์„ ํฌํ•จํ•œ ์ฟผ๋ฆฌ์˜ ์‹คํ–‰๋นˆ๋„๋‹ค. ํŒŒํ‹ฐ์…˜ ํ”„๋ฃจ๋‹์ด ์œ ํšจํ•œ ์ฟผ๋ฆฌ๊ฐ€ ๋Œ€๋ถ€๋ถ„์ผ ๋•Œ๋Š” ํŒŒํ‹ฐ์…”๋‹์— ์˜ํ•œ ์ฒ˜๋ฆฌ ์ „์ฒด์˜ ํšจ์œจํ™”๊ฐ€ ๊ธฐ๋Œ€๋œ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ํŒŒํ‹ฐ์…”๋‹์ด ์ ํ•ฉํ•˜๋‹ค๊ณ  ์ƒ๊ฐ๋  ๋•Œ๋„ ์ธ๋ฑ์Šค๋ฅผ ๋ถ™์ด๋Š” ๊ฒƒ๋งŒ์œผ๋กœ ์ถฉ๋ถ„ํ•  ๋•Œ๊ฐ€ ๋Œ€๋ถ€๋ถ„์ด๋‹ค. ํŒŒํ‹ฐ์…”๋‹์„ ์“ฐ๋Š” ํŽธ์ด ๋ช…ํ™•ํ•˜๊ฒŒ ์„ฑ๋Šฅ์ด ํ–ฅ์ƒ๋  ๋•Œ๋Š” ํ‚ค์˜ ์นด๋””๋„๋ฆฌํ‹ฐ๊ฐ€ ๋‚ฎ์„ ๋•Œ

โ†’ ๊ฒ€์ƒ‰์œผ๋กœ ๋Œ€๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ํŒจ์น˜ ๋˜๋Š” ๊ฒฝ์šฐ๋‹ค.

์นด๋””๋„๋ฆฌํ‹ฐ๊ฐ€ ๋‚ฎ์€ ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•œ ๊ฒ€์ƒ‰์€ ๋Œ€๋Ÿ‰์˜ ํ–‰์ด ์ผ์น˜ํ•˜๋ฏ€๋กœ ์ธ๋ฑ์Šค ํŽ˜์ด์ง€์™€ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•œ ํŽ˜์ด์ง€๋ฅผ ๋ช‡ ๋ฒˆ์ด๊ณ  ์™•๋ณตํ•˜๊ฒŒ ๋˜์–ด ํšจ์œจ์ด ๋†’์ง€ ์•Š๋‹ค. ํŒŒํ‹ฐ์…˜์ด๋ผ๋ฉด ํ•œ ๊ฐœ์˜ ํŒŒํ‹ฐ์…˜์„ ์Šค์บ”ํ•˜๋ฉด ๋˜๋ฏ€๋กœ ํ›จ์”ฌ ๋น„์šฉ์ด ๋‚ฎ์•„์ง„๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ OLTP ํ˜• ์‘์šฉํ”„๋กœ๊ทธ๋žจ์—์„œ ์ด์™€ ๊ฐ™์€ ๋Œ€๋Ÿ‰์˜ ํ–‰์„ ํŒจ์น˜ํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ๋Š” ๋“œ๋ฌผ์–ด์„œ ํŒŒํ‹ฐ์…”๋‹์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ๋„ ์ ์„ ๊ฒƒ์ด๋‹ค. ๋งŒ์•ฝ OLTP ํ˜• ์‘์šฉํ”„๋กœ๊ทธ๋žจ์—์„œ ์Šค์บ”์„ ์—ฌ๋Ÿฌ ๋ฒˆ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•˜๋ฉด ํ…Œ์ด๋ธ”์˜ ์ •๊ทœํ™”๊ฐ€ ์ถฉ๋ถ„ํ•˜์ง€ ์•Š์€ ๋“ฑ์˜ ๋ฌธ์ œ๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๋จผ์ € ์ด๋ฅผ ํ•ด๊ฒฐํ•ด์•ผ ํ•œ๋‹ค.

์ตœ์‹  ๋ฐ์ดํ„ฐ๋ฅผ ํ•ญ์ƒ ์ฐธ์กฐํ•  ๋•Œ๋Š” ํŒŒํ‹ฐ์…”๋‹์ด ์œ ์šฉํ•œ ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค. ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ๋ฅผ ์ฐจ๋ก€๋กœ ์ถ”๊ฐ€ํ•˜๋Š” ์‘์šฉํ”„๋กœ๊ทธ๋žจ์ด๋ฉฐ ๊ณผ๊ฑฐ์˜ ๋ฐ์ดํ„ฐ์— ๊ทธ๋‹ค์ง€ ์ ‘๊ทผํ•˜์ง€ ์•Š์„ ๋•Œ๋Š” ๋ ˆ์ธ์ง€ ํŒŒํ‹ฐ์…”๋‹์„ ์ˆ˜ํ–‰ํ•ด ์—‘์„ธ์Šค๋˜๋Š” ๋Œ€์ƒ์˜ ๋ฐ์ดํ„ฐ ๊ตญ์†Œ์„ฑ์„ ์ตœ๋Œ€ํ•œ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ํŒŒํ‹ฐ์…”๋‹์„ ์‚ฌ์šฉํ•˜๋ฉด ํŒŒํ‹ฐ์…”๋‹๋ณ„๋กœ ์ธ๋ฑ์Šค๊ฐ€ ์ž‘์„ฑ๋˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

์—‘์„ธ์Šค์˜ ๊ตญ์†Œ์„ฑ์ด ์žˆ๋‹ค๋ฉด ์บ์‹œ์˜ ํšจ์œจ์ด ๋งค์šฐ ํ–ฅ์ƒ๋œ๋‹ค.

โ†’ ๋Œ€๋ถ€๋ถ„ ๊ฒ€์ƒ‰์ด ๋ฉ”๋ชจ๋ฆฌ๋งŒ์œผ๋กœ ์ฒ˜๋ฆฌ๋˜๊ณ  ๋””์Šคํฌ I/O๋ฅผ ์ค„์—ฌ์„œ ์„ฑ๋Šฅ ํ–ฅ์ƒ์„ ์‹คํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.

ํŒŒํ‹ฐ์…”๋‹๊ณผ ๊ณ ์œ ์„ฑ ์ œ์•ฝ

์ธ๋ฑ์Šค๊ฐ€ ํŒŒํ‹ฐ์…”๋‹๋ณ„๋กœ ์ž‘์„ฑ๋ผ ์žˆ๋‹ค. ์ด์™€ ๊ฐ™์€ ์ธ๋ฑ์Šค๋ฅผ ๋กœ์ปฌ ์ธ๋ฑ์Šค ๋ผ๊ณ  ํ•œ๋‹ค. ์ธ๋ฑ์Šค๊ฐ€ ํŒŒํ‹ฐ์…˜๋ณ„๋กœ ์กด์žฌํ•˜๋ฏ€๋กœ ๊ฐ€์žฅ ๊ณค๋ž€ํ•œ ๊ฒƒ์ด ๊ณ ์œ ์„ฑ ์ œ์•ฝ์ด๋‹ค.

๊ณ ์œ ์„ฑ ์ œ์•ฝ์€ ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•ด ๊ตฌํ˜„ํ•œ๋‹ค.๋กœ์ปฌ ์ธ๋ฑ์Šค์—์„œ ๊ณ ์œ ์„ฑ์„ ๋ณด์žฅํ•˜๋Š” ๋ฒ”์œ„๋Š” ๊ทธ ์ธ๋ฑ์Šค๊ฐ€ ์†ํ•œ ํŒŒํ‹ฐ์…”๋‹์œผ๋กœ ์ œํ•œ๋œ๋‹ค.

โ†’ ํ…Œ์ด๋ธ” ์ „์ฒด์˜ ๊ณ ์œ ์„ฑ์„ ๋ณด์žฅํ•  ์ˆ˜ ์—†๋‹ค.

์ด ๋ฌธ์ œ ๋•Œ๋ฌธ์— ๋งŽ์€ DB์—์„œ ํŒŒํ‹ฐ์…”๋‹๋œ ํ…Œ์ด๋ธ”์— ๋Œ€ํ•ด ๊ธฐ๋ณธํ‚ค๋‚˜ ์œ ๋‹ˆํฌ ์ธ๋ฑ์Šค๋ฅผ ๋ฐ˜๋“œ์‹œ ํŒŒํ‹ฐ์…˜ ํ‚ค์— ํฌํ•จํ•ด์•ผ ํ•œ๋‹ค๋Š” ์ œํ•œ์ด ์žˆ๋‹ค.

ํŒŒํ‹ฐ์…˜ ํ‚ค๊ฐ€ ๊ธฐ๋ณธํ‚ค๋‚˜ ์œ ๋‹ˆํฌ ์ธ๋ฑ์Šค๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ์ปฌ๋Ÿผ์— ํฌํ•จ๋ผ ์žˆ์œผ๋ฉด ํŒŒํ‹ฐ์…˜๋ณ„๋กœ ํŒŒํ‹ฐ์…˜ ํ‚ค์˜ ๊ฐ’์ด ๋‹ค๋ฅด๋ฏ€๋กœ ๋‹ค๋ฅธ ํŒŒํ‹ฐ์…˜์—๋Š” ๊ฐ™์€ ๊ฐ’์˜ ํ‚ค๊ฐ€ ํฌํ•จ๋  ๊ฐ€๋Šฅ์„ฑ์€ ์—†์„ ๊ฒƒ์ด๋‹ค.

์ด ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜๋ฉด ๊ณ ์œ ์„ฑ ์ œ์•ฝ์˜ ๊ธฐ๋Šฅ์€ ๋ฐ”๋ฅด๊ฒŒ ๋™์ž‘ํ•  ๊ฒƒ์ด๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ํŒŒํ‹ฐ์…˜ ํ‚ค๋ฅผ ํฌํ•จํ•œ ํ‚ค๋Š” ๊ทธ ํ…Œ์ด๋ธ”์˜ ์„ค๊ณ„์ƒ ์ •๋ง๋กœ ์œ ์ผํ•˜์ง€ ์•Š์œผ๋ฉด ์•ˆ๋œ๋‹ค. ์ด ๊ฒฝ์šฐ ํŒŒํ‹ฐ์…˜ ํ‚ค๋ฅผ ์œ ๋‹ˆํฌ ์ธ๋ฑ์Šค์— ๋„ฃ์–ด๋„ ์•„๋ฌด๋Ÿฐ ํ•ด๊ฒฐ์ฑ…์ด ๋˜์ง€ ์•Š๋Š”๋‹ค.

ํŒŒํ‹ฐ์…”๋‹์„ ์ˆ˜ํ–‰ํ•ด ๊ณ ์œ ์„ฑ์„ ๋ณด์žฅํ•  ์ˆ˜ ์—†๋‹ค๋ฉด ํŒŒํ‹ฐ์…”๋‹์„ ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

ํŒŒํ‹ฐ์…”๋‹์„ ์ˆ˜ํ–‰ํ•˜๊ณ  ์žˆ์„ ๋•Œ๋„ ์ •์ƒ์ ์œผ๋กœ ๊ณ ์œ ์„ฑ ์ œ์•ฝ์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ๊ฐœ๋ณ„ ํŒŒํ‹ฐ์…˜์ด ์•„๋‹Œ ํ…Œ์ด๋ธ” ์ „์ฒด๋ฅผ ๋Œ€์ƒ์œผ๋กœ ํ•˜๋Š” ์ธ๋ฑ์Šค๊ฐ€ ํ•„์š”ํ•˜๋‹ค. โ†’ ๊ธ€๋กœ๋ฒŒ ์ธ๋ฑ์Šค ๋ผ๊ณ  ํ•œ๋‹ค.

๊ธ€๋กœ๋ฒŒ ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ œํ’ˆ์ด๋ผ๋ฉด ํŒŒํ‹ฐ์…”๋‹์— ์˜ํ•œ ๊ณ ์œ ์„ฑ ์ œ์•ฝ์ด ์†์ƒ๋˜์ง€ ์•Š๊ณ  ํฐ ๋ฌธ์ œ ์—†์ด ํŒŒํ‹ฐ์…”๋‹์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด๋Ÿฐ ๊ธ€๋กœ๋ฒŒ ์ธ๋ฑ์Šค๋Š” ๋ชจ๋“  ํŒŒํ‹ฐ์…˜์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ํฌํ•จ๋˜๋ฏ€๋กœ ์ด ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•œ ๊ฒ€์ƒ‰์€ ํŒŒํ‹ฐ์…˜ ํ”„๋ฃจ๋‹์„ ํ•  ์ˆ˜ ์—†๋‹ค. ๋˜ํ•œ, ์–ด๋Š ํŒŒํ‹ฐ์…˜์˜ ํ–‰์„ ๊ฐฑ์‹ ํ•ด๋„ ๋ฐ˜๋“œ์‹œ ๊ธ€๋กœ๋ฒŒ ์ธ๋ฑ์Šค๋„ ๊ฐฑ์‹ ํ•ด์•ผ ํ•œ๋‹ค. ์—‘์„ธ์Šค์˜ ๊ตญ์†Œ์„ฑ๋„ ํ™œ์šฉ ํ•  ์ˆ˜ ์—†๋‹ค.

โ†’ ํŒŒํ‹ฐ์…”๋‹์˜ ์˜๋ฏธ๊ฐ€ ์ค„์–ด๋“ค ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋‹ค.

ํŒŒํ‹ฐ์…”๋‹์— ๊ด€ํ•œ ์ผ๋ฐ˜์ ์ธ ์˜คํ•ด

ํŒŒํ‹ฐ์…”๋‹์— ๊ด€ํ•œ ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์ธ ์˜คํ•ด๋Š” ํŒŒํ‹ฐ์…”๋‹๋งŒ์œผ๋กœ ์—‘์„ธ์Šค๊ฐ€ ๋นจ๋ผ์ง„๋‹ค๋Š” ์ƒ๊ฐ์ด๋‹ค.

ํŒŒํ‹ฐ์…”๋‹์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ํŒŒํ‹ฐ์…˜ ํ”„๋ฃจ๋‹์„ ์ž˜ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฉด ์˜๋ฏธ๊ฐ€ ์—†๋‹ค. ํŒŒํ‹ฐ์…”๋‹์„ ์ˆ˜ํ–‰ํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•  ๋””์Šคํฌ๋ฅผ ๋‚˜๋ˆ„๊ฑฐ๋‚˜ ์ฒ˜๋ฆฌ๋ฅผ ํŒŒํ‹ฐ์…”๋‹๋ณ„๋กœ ๋ณ‘ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์ œํ’ˆ๋„ ์žˆ์ง€๋งŒ, ์ด๋Ÿฐ ์ œํ’ˆ์ด ์•„๋‹Œ ์ด์ƒ ๋ฌด์กฐ๊ฑด ํŒŒํ‹ฐ์…”๋‹์„ ํ•ด์„œ๋Š” ์˜๋ฏธ๊ฐ€ ์—†๋‹ค.

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

์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•œ ๊ฒ€์ƒ‰๋„ ๋งˆ์ฐฌ๊ฐ€์ง€๋‹ค. ํŒŒํ‹ฐ์…”๋‹์„ ํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ, ๋ฒ”์œ„ ๊ฒ€์ƒ‰์€ ์ธ๋ฑ์Šค๋ฅผ ํ•œ ๋ฒˆ ๊ฒ€์ƒ‰ํ•˜๋ฉด ์ถฉ๋ถ„ํ•˜๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์˜ˆ๋ฅผ ๋“ค์–ด 100๊ฐœ์˜ ํŒŒํ‹ฐ์…˜์ด ์žˆ๋Š” ํ…Œ์ด๋ธ”์„ ํŒŒํ‹ฐ์…˜ ํ”„๋ฃจ๋‹ํ•ด์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค๋ฉด ๋กœ์ปฌ ์ธ๋ฑ์Šค๋ฅผ 100๋ฒˆ ๊ฒ€์ƒ‰ํ•ด์•ผ ํ•œ๋‹ค.

์ด์™€ ๊ฐ™์€ ์˜ค๋ฒ„ํ—ค๋“œ๋Š” ํŒจ์น˜๋œ ํ–‰ ์ˆ˜๊ฐ€ ์ ์„ ๋•Œ ๋ฌธ์ œ๊ฐ€ ๋œ๋‹ค. ๋กœ์ปฌ ์ธ๋ฑ์Šค๋ฅผ ๊ฒ€์ƒ‰ํ•˜๋”๋ผ๋„ ๋น ์งˆ(ํ•ด๋‹น ๋ฐ์ดํ„ฐ๊ฐ€ ์—†๋Š”)๊ฐ€๋Šฅ์„ฑ์ด ์ปค์ง€๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

4. ๊ด€๊ณ„ํ˜• ๋ชจ๋ธ๊ณผ ์ธ๋ฑ์Šค

์ธ๋ฑ์Šค๋Š” ๋…ผ๋ฆฌ์ ์ธ ์„ค๊ณ„๊ฐ€ ์•„๋‹ˆ๊ณ  ๋ฌผ๋ฆฌ์ ์ธ ์„ค๊ณ„์˜ ์ด์•ผ๊ธฐ(๊ตฌํ˜„)๋‹ค.

๋…ผ๋ฆฌ์ ์ธ ์„ค๊ณ„๋Š” ์–ด๋–ค ๊ฐ’์ด ํ…Œ์ด๋ธ”์— ์ €์žฅ๋˜๋Š”๊ฐ€ ๋ฟ์ด๋‹ค. ์ฟผ๋ฆฌ์˜ ๊ฒฐ๊ณผ์— ๋”ฐ๋ผ์„œ ์–ด๋–ค ๊ฐ’์„ ์–ป์„ ์ˆ˜ ์žˆ๋Š”์ง€, ์ฆ‰ ํ…Œ์ด๋ธ”์— ํฌํ•จ๋œ ๊ฐ ๊ฐ’์ด ๋ฌด์—‡์ธ์ง€๊ฐ€ ํ…Œ์ด๋ธ”์˜ ๋…ผ๋ฆฌ์ ์ธ ์„ค๊ณ„๋‹ค.

ํ•œํŽธ ์ธ๋ฑ์Šค๋Š” ์‹คํ–‰ ๊ณ„ํš๊ณผ ๊ด€๋ จ๋œ ์˜ค๋ธŒ์ ํŠธ๋‹ค. ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•œ ์—‘์„ธ์Šค๋Š” ๋น ๋ฅด์ง€๋งŒ, ์ธ๋ฐ์Šคใ…ก์ด ์œ ๋ฌด์— ๋”ฐ๋ผ ์ฟผ๋ฆฌ ๊ฒฐ๊ณผ๊ฐ€ ๋‹ฌ๋ผ์ง€์ง€๋Š” ์•Š๋Š”๋‹ค. ์ธ๋ฑ์Šค๋Š” ๋ฌผ๋ฆฌ์  ์„ค๊ณ„(๊ตฌํ˜„)์˜ ์ผ๋ถ€๋‹ค.

์›๋ž˜๋Š”

์ฟผ๋ฆฌ๊ฐ€ ์ •ํ•ด์ง€๊ณ  ๋‚˜์„œ(์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๊ฒฐ์ •ํ•˜๊ณ  ๋‚˜์„œ) ๊ณ ์†ํ™”ํ•˜๊ธฐ ์œ„ํ•œ ์ธ๋ฑ์Šค๋ฅผ ์„ค๊ณ„ํ•œ๋‹ค.

์ด์ง€๋งŒ ์‹ค๋ฌด์—์„œ๋Š” ๊ฐ€๋”

์ธ๋ฑ์Šค๋ฅผ ์ •ํ•œ ๋‹ค์Œ์— ์ด ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•œ ์ฟผ๋ฆฌ๋ฅผ ์–ด๋–ป๊ฒŒ ์ž‘์„ฑํ• ๊นŒ

๋ผ๋Š” ๋ชจ์Šต์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ๋Œ€๋ถ€๋ถ„ SQL ์ˆ™๋ จ์ž๊ฐ€ ์ž์ฃผ ํ•˜๋Š” ์‹ค์ˆ˜ ์ค‘ ํ•˜๋‚˜๋‹ค.

์ธ๋ฑ์Šค๋Š” ๊ด€๊ณ„ํ˜• ๋ชจ๋ธ์˜ ์ผ๋ถ€๊ฐ€ ์•„๋‹ˆ๋‹ค

์ธ๋ฑ์Šค๋Š” ๊ด€๊ณ„ํ˜• ๋ชจ๋ธ ์™ธ๋ถ€ ์„ธ๊ณ„์˜ ๊ฐœ๋…์ด๋‹ค.

๊ธฐ๋ณธ์ ์œผ๋กœ ๋จผ์ € DB์˜ ๋…ผ๋ฆฌ ์„ค๊ณ„๋ฅผ ํ•˜๊ณ  ๊ทธ ๋‹ค์Œ์— ์ฟผ๋ฆฌ๋ฅผ ์ž‘์„ฑํ•˜๊ณ , ์ธ๋ฑ์Šค์— ๋Œ€ํ•ด ์ƒ๊ฐํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค. DB ์„ค๊ณ„๋‚˜ ์ฟผ๋ฆฌ๋กœ ๋ฌด์—‡์„ ์–ป์„ ๊ฒƒ์ธ์ง€๋Š” ๋…ผ๋ฆฌ์„ค๊ณ„์ด๋ฉฐ ์ธ๋ฑ์Šค๋Š” ๋ฌผ๋ฆฌ ์„ค๊ณ„์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

DB๋ฅผ ์„ค๊ณ„ํ•  ๋•Œ ํ›„๋ณดํ‚ค๋Š” ์•Œ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๊ทธ๊ฒƒ๋งŒ์€ ์ฒ˜์Œ๋ถ€ํ„ฐ ๊ธฐ๋ณธํ‚ค๋กœ ์ •์˜ํ•ด๋„ ๋œ๋‹ค.

์ง๊ฐ์œผ๋กœ โ€˜์ด ์ปฌ๋Ÿผ์€ ๊ฒ€์ƒ‰ํ•  ์ผ์ด ๋งŽ์„ ๊ฑฐ์•ผโ€™ ๋ผ๋ฉด ์ธ๋ฑ์Šค๋ฅผ ์ž‘์„ฑํ•ด๋„ ๊ดœ์ฐฎ์œผ๋‚˜ ๊ฒฐ์ •ํ•œ ์ธ๋ฑ์Šค์— ์–ฝ๋งค์—ฌ ์ฟผ๋ฆฌ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ์ผ์ด ์—†๋„๋ก ํ•ด์•ผํ•œ๋‹ค.

ํŠนํžˆ ์ธ๋ฑ์Šค๋Š” ๋ฆฌํŒฉํ„ฐ๋ง๋„ ๊ฐ„๋‹จํ•˜๋ฏ€๋กœ ์ฒ˜์Œ์— ์ •ํ•œ ์ธ๋ฑ์Šค์— ์ง‘์ฐฉํ•  ํ•„์š”๋Š” ์—†๋‹ค.

์ธ๋ฑ์Šค์˜ ์ •์˜๋Š” ์œ ์—ฐํ•˜๊ฒŒ ์žฌ๊ฒ€ํ† ํ•ด๋„ ์ƒ๊ด€์—†๋‹ค.

์ •๊ทœํ™”์™€ ์ธ๋ฑ์Šค

์ธ๋ฑ์Šค๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋ ค๋ฉด DB ์„ค๊ณ„๊ฐ€ ๋งค์šฐ ์ค‘์š”ํ•˜๋‹ค. ํŠนํžˆ ์ •๊ทœํ™”๋Š” ์ œ๋Œ€๋กœ ๊ตฌํ˜„ํ•ด์•ผ ํ•œ๋‹ค.

์ปฌ๋Ÿผ์ˆ˜๊ฐ€ ์ค„์–ด๋“ ๋‹ค

์ •๊ทœํ™”๋˜์ง€ ์•Š์€ ํ…Œ์ด๋ธ”์€ ์ปฌ๋Ÿผ์ด ๋งค์šฐ ๋งŽ๋‹ค. ๊ทธ ๊ฒฐ๊ณผ ํ•„์š”ํ•œ ์ธ๋ฑ์Šค๋„ ๋Š˜์–ด๋‚˜๊ฒŒ ๋œ๋‹ค. ์ธ๋ฑ์Šค๊ฐ€ ๋งŽ์œผ๋ฉด ๋งŽ์„์ˆ˜๋ก ๊ฐฑ์‹  ์„ฑ๋Šฅ์ด ๋‚˜๋น ์ง€๊ณ  ํ•„์š”ํ•œ ๋””์Šคํฌ ๊ณต๊ฐ„๋„ ๋งŽ์•„์ง€๋ฏ€๋กœ ์ธ๋ฑ์Šค ๊ด€์ ์—์„œ ๋ณด๋”๋ผ๋„ ์ •๊ทœํ™”๋Š” ํ•„์š”ํ•˜๋‹ค.

์ •๊ทœํ™”๋œ ํ…Œ์ด๋ธ”์—๋Š” ์ ์–ด๋„ ํ•œ ๊ฐœ์˜ ํ›„๋ณดํ‚ค๊ฐ€ ์กด์žฌํ•˜๋ฏ€๋กœ ๊ทธ ํ…Œ์ด๋ธ”์—๋Š” ๋ช…์‹œ์ ์œผ๋กœ ๊ธฐ๋ณธํ‚ค๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค. SQL์—์„œ๋Š” ํ‚ค๋ณธํ‚ค๊ฐ€ ์—†๋Š” ํ…Œ์ด๋ธ”๋„ ํ—ˆ์šฉํ•˜์ง€๋งŒ, ์ค‘๋ณตํ•˜๋Š” ํ–‰์„ ๊ฐ€์ง€๊ฒŒ ๋˜๋ฏ€๋กœ ๋ฐ”๋žŒ์งํ•˜์ง€ ์•Š๋‹ค.

์ค‘๋ณตํ•˜๋Š” ํ–‰์„ ๊ฐ€์ง„ ํ…Œ์ด๋ธ”์€ ๊ด€๊ณ„ํ˜• ๋ชจ๋ธ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ์—ฐ์‚ฐ์„ ์ ์šฉํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

๋ฌธ์ œ์•„ NULL

์ •๊ทœํ™”ํ•˜์ง€ ์•Š์œผ๋ฉด ๋ฌธ์ œ๊ฐ€ ๋˜๋Š” ๊ฒƒ์ด NULL์˜ ์กด์žฌ๋‹ค.

1NF ๋˜์–ด ์žˆ์ง€ ์•Š์€ ํ…Œ์ด๋ธ”์—๋Š” NULL์ด ๋‚˜์˜ฌ ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋‹ค.

NULL์€ ๊ด€๊ณ„ํ˜• ๋ชจ๋ธ์—์„œ๋Š” ์ฒœ์ ์ผ ๋ฟ๋งŒ์•„๋‹ˆ๋ผ ์ธ๋ฑ์Šค์™€๋„ ๊ถํ•ฉ์ด ์ข‹์ง€ ์•Š๋‹ค. SQL์—์„œ๋Š” NULL ๋ผ๋ฆฌ์˜ ๋น„๊ต๋Š” ํ•  ์ˆ˜ ์—†๊ณ , ์ธ๋ฑ์Šค์˜ ๊ตฌํ˜„์—๋„ NULL๊ณผ ๊ฐ™์€ ๊ฐ’์„ ๊ฐ€์ง„ ํ•ญ๋ชฉ์€ ์ธ๋ฑ์Šค์˜ ๋งจ ์•ž ๋˜๋Š” ๋งจ ๋’ค์— ๋ชจ์•„์„œ ๋†“์ด๊ฒŒ ๋œ๋‹ค.

๋งจ ์•ž๊ณผ ๋งจ ๋’ค ์ค‘ ์–ด๋Š ์ชฝ์— ๋ฐฐ์น˜ํ• ์ง€๋Š” ์ œํ’ˆ์˜ ๊ตฌํ˜„(์ •๋ ฌ ์ˆœ์„œ)์— ๋‹ฌ๋ ค์žˆ๋‹ค. NULL์˜ ๊ฐ’์„ ๊ฒ€์ƒ‰ํ•˜๋Š” ๊ฒƒ์€ ๋ฌผ๋ฆฌ์ ์œผ๋กœ ์—ฐ์†๋œ ์˜์—ญ์„ ์Šค์บ”ํ•˜๋Š” ๊ฒƒ์— ๋ถˆ๊ณผํ•˜๋‹ค. ๊ทธ ์ปฌ๋Ÿผ์˜ ๊ฐ’ ์ค‘์— ์–ด๋Š ์ •๋„์˜ ๋น„์œจ์ด NULL์ธ์ง€์— ๋”ฐ๋ผ, NULL์˜ ๋น„์œจ์ด ๋†’์„ ๋•Œ๋Š” ๊ทธ ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•œ ๊ฒ€์ƒ‰์ด ๋งค์šฐ ๋น„ํšจ์œจ์ ์ด๊ฒŒ ๋œ๋‹ค.

์ปฌ๋Ÿผ์˜ ๊ฐ’์ด NULL์ผ ๋•Œ์˜ ๋ฌธ์ œ๋Š” ๋น„๊ต๊ฐ€ 3VL์ด ๋œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด NOT NULL์ด ์•„๋‹Œ age๋ผ๋Š” ์ปฌ๋Ÿผ์ด ์žˆ๊ณ  20์„ธ ๋ฏธ๋งŒ์˜ ๋ชจ๋“  ์‚ฌ๋žŒ์„ ์ฐพ๋Š” ๊ฒฝ์šฐ age๊ฐ€ NULL์ธ ์‚ฌ๋žŒ๋„ ํฌํ•จํ•  ๊ฒƒ์ธ์ง€ ์•„๋‹Œ์ง€์— ๋”ฐ๋ผ ๊ฒ€์ƒ‰์ด ๋‹ฌ๋ผ์ง„๋‹ค.

NULL์ด ํฌํ•จ๋ผ ์žˆ์œผ๋ฉด ์ธ๋ฑ์Šค์˜ ํšจ๊ณผ๋ฅผ ์ตœ๋Œ€ํ•œ ํ™œ์šฉํ•  ์ˆ˜ ์—†๋‹ค.

5. ์ง€๋ น: ์ตœ์ ์˜ ์ธ๋ฑ์Šค๋ฅผ ์ฐพ์•„๋ผ!

์ธ๋ฑ์Šค ์„ค๊ณ„์— ์žˆ์–ด ๊ฐ€์žฅ ์ค‘์š”ํ•œ ์ ์€ ๋งŽ์€ ์ปฌ๋Ÿผ์ค‘์—์„œ ์–ด๋–ค ์ปฌ๋Ÿผ์— ์ธ๋ฑ์Šค๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์ด ์ข‹์€๊ฐ€์ด๋‹ค.

ํ•„์š”ํ•œ ์ธ๋ฑ์Šค

์ธ๋ฑ์Šค์˜ ๊ฒ€์ƒ‰์„ ๋น ๋ฅด๊ฒŒ ํ•˜๋ ค๋ฉด ๊ฒ€์ƒ‰์กฐ๊ฑด์— ์ ํ•ฉํ•œ ์ธ๋ฑ์Šค๊ฐ€ ํ•„์š”ํ•˜๋‹ค. ์กฐ๊ฑด์— ๋งž๋Š” ์ธ๋ฑ์Šค๊ฐ€ ์—†์œผ๋ฉด ํ…Œ์ด๋ธ”์„ ์Šค์บ”ํ•ด ๊ฒ€์ƒ‰ํ•˜๋Š” ๋ฐฉ๋ฒ•๋ฐ–์— ์—†๋‹ค. ํ…Œ์ด๋ธ”์˜ ํฌ๊ธฐ๊ฐ€ ํฌ๋ฉด ์Šค์บ”์— ๋“œ๋Š” ๋น„์šฉ๋„ ์ปค์ง„๋‹ค. ํฌ๊ธฐ๊ฐ€ ํฐ ํ…Œ์ด๋ธ”์€ ์ธ๋ฑ์Šค์— ์˜ํ•œ ๊ฒ€์ƒ‰ ์†๋„์˜ ๊ฐœ์„  ํšจ๊ณผ๊ฐ€ ํฌ๋‹ค.

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

์ธ๋ฑ์Šค์˜ ์—‘์„ธ์Šค ํŠน์„ฑ

์ธ๋ฑ์Šค๊ฐ€ ํ•„์š”ํ•œ ์ด์œ ๋Š” ํ…Œ์ด๋ธ” ์Šค์บ”์„ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด์„œ์ง€๋งŒ ํ…Œ์ด๋ธ” ์Šค์บ”์ด ์‹คํ–‰ ๊ณ„ํš์ƒ ๋ฐ˜๋“œ์‹œ ๋‚˜์œ ์„ ํƒ์ด๋ผ๊ณ ๋Š” ํ•  ์ˆ˜ ์—†๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ƒํ™ฉ์ด๋ฉด ํ…Œ์ด๋ธ” ์Šค์บ”์„ ํ•˜๋Š” ํŽธ์ด ์‹œ์Šคํ…œ ์ „์ฒด์˜ ์ฒ˜๋ฆฌ๋Ÿ‰์ด ๋งŽ์•„์ง„๋‹ค.

  • ์–ด๋–ค ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•œ ์ฟผ๋ฆฌ์˜ ์‹คํ–‰ ๋นˆ๋„๊ฐ€ ๋งค์šฐ ๋‚ฎ์Œ(1์ผ 1ํšŒ)
  • ํ…Œ์ด๋ธ”์˜ ์‚ฌ์ด์ฆˆ๊ฐ€ ๋งค์šฐ ์ž‘์„ ๋•Œ(100ํ–‰ ๋“ฑ)
  • ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ๊ฐ€ ๋งค์šฐ ๋งŽ์€ ํ–‰์„ ๊ฐ€์ ธ์˜ฌ ๋•Œ

๋งˆ์ง€๋ง‰์˜ ๊ฒฝ์šฐ๋Š” ๋’ค์— ์„ค๋ช…ํ•˜๋Š” ์ปค๋ฒ„๋ง ์ธ๋ฑ์Šค๊ฐ€ ์žˆ๋‹ค๋ฉด ๋น ๋ฅด๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ทธ๋ ‡์ง€ ์•Š์„ ๋•Œ๋Š” ์‹คํ–‰ ๊ณผ์ •์—์„œ ์ธ๋ฑ์Šค์™€ ํ…Œ์ด๋ธ”์„ ์˜ค๊ฐ€๋ฉฐ ์—‘์„ธ์Šคํ•˜๊ฒŒ ๋˜๋ฏ€๋กœ ํ…Œ์ด๋ธ” ์ž์ฒด์— ์—‘์„ธ์Šคํ•˜๊ธฐ ์œ„ํ•ด ๋žœ๋ค ์—‘์„ธ์Šค๊ฐ€ ๋ฐœ์ƒํ•˜๊ฒŒ ๋˜๊ณ , ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์˜คํžˆ๋ ค ๋Š๋ฆด ๋•Œ๊ฐ€ ๋งŽ๋‹ค.

์ธ๋ฑ์Šค๊ฐ€ ์‚ฌ์šฉ๋˜๋Š” ๊ตฌ๋ฌธ

์–ด๋–ค ์ปฌ๋Ÿผ์˜ ์ธ๋ฑ์Šค๋ฅผ ์ž‘์„ฑํ•ด์•ผ ํ• ์ง€ ๊ณ ๋ฏผํ•˜๊ธฐ ์ „์— ์–ด๋–ค SQL์˜ ๊ตฌ๋ฌธ์— ๋Œ€ํ•ด ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์•Œ๊ณ  ์žˆ์–ด์•ผ ํ•œ๋‹ค. ์ง€๊ธˆ์€ SELECT๋ฅผ ๋Œ€์ƒ์œผ๋กœ ์„ค๋ช…ํ•˜์ง€๋งŒ, UPDATE, DELETE, INSERT ๋“ฑ์˜ ๊ตฌ๋ฌธ๋„ ๋ฐฉ๋ฒ•์€ ๊ฐ™๋‹ค.

WHERE ์ ˆ

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

๋‹ค์ค‘ ์ปฌ๋Ÿผ ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ์ฃผ์˜ํ•ด์•ผ ํ•  ์ ์€ ๊ฒ€์ƒ‰ ์กฐ๊ฑด์ด ์ „๋ฐฉ ์ผ์น˜ํ•ด์•ผ ํ•œ๋‹ค๋Š” ์ ์ด๋‹ค. ํŠนํžˆ ๋“ฑํ˜ธ๋‚˜ ๋ถ€๋“ฑํ˜ธ๊ฐ€ ์„ž์—ฌ ์žˆ์„ ๋•Œ๋Š” ์ฃผ์˜๊ฐ€ ํ•„์š”ํ•˜๋‹ค.

## ๋‹ค์ค‘ ์ปฌ๋Ÿผ ์ธ๋ฑ์Šค๊ฐ€ ์ ํ•ฉํ•œ ๋ฒ”์œ„ ๊ฒ€์ƒ‰
SELECT * FROM t WHERE col1 > 100 AND col2 = 'abc';

์ด ์ฟผ๋ฆฌ๋ฅผ ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•ด ๋น ๋ฅด๊ฒŒ ์ฒ˜๋ฆฌํ•˜๋ ค๋ฉด (col2, col1)์˜ ์ˆœ์„œ๋กœ ์ธ๋ฑ์Šค๋ฅผ ์ž‘์„ฑํ•ด์•ผ ํ•œ๋‹ค.

(col2, col1)์˜ ์ˆœ์„œ๋กœ ์ธ๋ฑ์Šค๋ฅผ ์ž‘์„ฑํ•ด๋„ col1>100์˜ ๋ถ€๋ถ„๋งŒ B+ํŠธ๋ฆฌ๋กœ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์ด ๋ถ€๋“ฑ์‹์€ ํ•œ์ชฝ์ด ์—ด๋ ค์žˆ์–ด์„œ ๋งŽ์€ ํ–‰์ด ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ๋กœ ๋‚˜์˜ฌ ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋‹ค.

์ด์— ๋”ฐ๋ผ ์•ž์—์„œ ๋งํ•œ ๊ฒƒ๊ณผ ๊ฐ™์ด ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์žฅ์ ์ด ์—†์„ ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋‹ค.

๋ฐ˜๋Œ€๋กœ (col2, col1)์˜ ์ˆœ์„œ๋กœ ์ž‘์„ฑ๋œ ์ธ๋ฑ์Šค๋ผ๋ฉด ์–‘์ชฝ์˜ ๊ฒ€์ƒ‰ ์กฐ๊ฑด์„ ์ธ๋ฑ์Šค๋กœ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค.

์˜ˆ์‹œ) (โ€˜abcโ€™, 100) < (col2, col1) < (โ€˜abdโ€™, col1์˜ ์ตœ์†Ÿ๊ฐ’)์ด๋ผ๋Š” ๋ฒ”์œ„๋ฅผ ์ธ๋ฑ์Šค์—์„œ ๊ฒ€์ƒ‰ ๊ฐ€๋Šฅ

JOIN

JOIN์—์„œ ์ค‘์š”ํ•œ ๊ฒƒ์€ ๊ฒฐํ•ฉํ•˜๋Š” ํ…Œ์ด๋ธ”์˜ ์ˆœ์„œ๋‹ค. ๋‚ด๋ถ€ ํ…Œ์ด๋ธ”(๊ฒฐํ•ฉํ•˜๋Š” ์ชฝ์˜ ํ…Œ์ด๋ธ”)์— ๋Œ€ํ•œ ์—‘์„ธ์Šค๋Š” ์ธ๋ฑ์Šค๊ฐ€ ์‚ฌ์šฉ๋œ๋‹ค. ์ด๋•Œ ์ค‘์š”ํ•œ ๊ฒƒ์ด JOIN์˜ ๊ฒฐํ•ฉ ์กฐ๊ฑด ์ด์™ธ์˜ ๊ฒ€์ƒ‰ ์กฐ๊ฑด์ด๋‹ค.

SELECT * FROM t1
JOIN t2 ON t1.col1 = t2.col2
WHERE t1.col3 = 100 AND t2.col4 = 'abc';

์ด ์ฟผ๋ฆฌ์—์„œ ๊ตฌ๋™ ํ…Œ์ด๋ธ”์ด t1, ๋‚ด๋ถ€ ํ…Œ์ด๋ธ”์ด t2๋ผ๋Š” ์ˆœ์„œ์˜ ์‹คํ–‰ ๊ณ„ํš์ด ์„ ํƒํ–ˆ์„ ๋•Œ t2 ํ…Œ์ด๋ธ”์—์„œ (col2, col4)๋ผ๋Š” ๋‹ค์ค‘ ์ปฌ๋Ÿผ ์ธ๋ฑ์Šค๊ฐ€ ์žˆ๋‹ค๋ฉด col2์— ์ธ๋ฑ์Šค๋ณด๋‹ค ์—‘์„ธ์Šค๊ฐ€ ํšจ๊ณผ์ ์ผ ์ˆ˜ ์žˆ๋‹ค.

col2๋Š” JOIN์˜ ON์ ˆ์—, col4๋Š” WHERE ์ ˆ์— ๊ฐ๊ฐ ์œ„์น˜ํ•˜๊ณ  ์žˆ๋‹ค. ์ด ๊ฒƒ์€ t2.col2๊ฐ€ ๊ธฐ๋ณธํ‚ค๊ฑฐ๋‚˜ ์œ ๋‹‰์Šค ์ธ๋ฑ์Šค๊ฐ€ ์•„๋‹ ๋•Œ ํŠนํžˆ ํšจ๊ณผ์ ์ด๋‹ค.

๊ธฐ๋ณธํ‚ค๋‚˜ ์œ ๋‹ˆํฌ ์ธ๋ฑ์Šค์—์„œ๋Š” ๋“ฑ๊ฐ€ ๋น„๊ต๋กœ ํ…Œ์ด๋ธ”์—์„œ ์„ ํƒ๋œ ๋ฐ์ดํ„ฐ๋Š” ์ตœ๋Œ€ 1์ค„์ด๋‹ค.

โ†’ ๋‹ค๋ฅธ ์กฐ๊ฑด์ด ์žˆ๋‹ค๊ณ  ํ•ด๋„ ํšจ์œจ์€ ํฌ๊ฒŒ ์ฐจ์ด ์—†๋‹ค. ์—ญ์‹œ ๋‚ด๋ถ€ ํ…Œ์ด๋ธ”์— ๋Œ€ํ•œ ์—‘์„ธ์Šค๊ฐ€ ๊ธฐ๋ณธํ‚ค๋‚˜ ์œ ๋‹‰์Šค ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•ด ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์ด ํšจ๊ณผ์ ์ด๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ WHERE ์˜ ๊ฒ€์ƒ‰ ์กฐ๊ฑด์œผ๋กœ ์ขํ˜€์ง„ ์ •๋„(์ขํ˜€์ง„ ํ›„์˜ ํ–‰ ์ˆ˜)์— ๋”ฐ๋ผ ์˜ตํ‹ฐ๋งˆ์ด์ €๋Š” JOIN์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์ˆœ์„œ

โ†’ ์–ด๋Š ์ชฝ์ด ๊ตฌ๋™ ํ…Œ์ด๋ธ”์ด ๋  ๊ฒƒ์ธ์ง€๋ฅผ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋‹ค.

์ด ๊ฒฝ์šฐ๋Š” t2.col2 ์ปฌ๋Ÿผ์— ์œ ๋‹ˆํฌ๊ฐ€ ์•„๋‹Œ ๋ณด์กฐ ์ธ๋ฑ์Šค๊ฐ€ ์žˆ์„์ง€๋„ ๋ชจ๋ฅธ๋‹ค. t2.col2๊ฐ€ ์œ ๋‹ˆํฌ๊ฐ€ ์•„๋‹ˆ๋ผ๋ฉด JOIN์˜ t1.col1 = t2.col2๋ผ๋Š” ์กฐ๊ฑด์— ํ•ด๋‹นํ•˜๋Š” ํ–‰์ด ์—ฌ๋Ÿฌ ๊ฐœ ๋‚˜์˜จ๋‹ค. ์ด ์ฟผ๋ฆฌ๋ฅผ ํ•ด๊ฒฐํ•˜๋ ค๋ฉด JOIN์˜ ์กฐ๊ฑด์— ๋”ฐ๋ผ์„œ t2์—์„œ ํ–‰์„ ์„ ํƒํ•œ ๋‹ค์Œ์— WHERE ์ ˆ์˜ t2.col4 = โ€˜abcโ€™๋ผ๋Š” ์กฐ๊ฑด์œผ๋กœ ์ขํ˜€์„œ ๊ฒ€์ƒ‰ํ•ด์•ผ ํ•œ๋‹ค.

๋งŒ์•ฝ t2 ํ…Œ์ด๋ธ”์— (col2, col4)๋ผ๋Š” ๋‹ค์ค‘ ์ปฌ๋Ÿผ ์ธ๋ฑ์Šค๊ฐ€ ์žˆ๋‹ค๋ฉด ํ…Œ์ด๋ธ”์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์„ ํƒํ•œ ์‹œ์ ์— JOIN์˜ t1.col1 = t2.col2, WHERE ์ ˆ์˜ t2.col4 = โ€˜abcโ€™์ด๋ผ๋Š” ๋‘ ์กฐ๊ฑด ๋ชจ๋‘๊ฐ€ ์ ์šฉ๋˜๊ฒŒ ๋˜๊ณ  ํ…Œ์ด๋ธ”์—์„œ ํ–‰์„ ์„ ํƒํ•œ ๋‹ค์Œ์— WHERE ์ ˆ์˜ ์กฐ๊ฑด์œผ๋กœ ๋Œ€์ƒ์„ ์ขํ˜€๋‚˜๊ฐ€๋Š” ๋ถˆํ•„์š”ํ•œ ์ž‘์—…์ด ์—†์–ด์ง€๊ฒŒ ๋œ๋‹ค.

JOIN์—์„œ ๋‹ค์ค‘ ์ปฌ๋Ÿผ ์ธ๋ฑ์Šค๊ฐ€ ์œ ์šฉํ•  ๋•Œ๊ฐ€ ์žˆ๋‹ค๋Š” ๊ฒƒ์€ ์˜์™ธ์˜ ๋งน์ ์ด๋ฏ€๋กœ ๋ช…์‹ฌํ•ด์•ผ ํ•œ๋‹ค.

์ƒ๊ด€ ์„œ๋ธŒ์ฟผ๋ฆฌ

JOIN์˜ ๊ฒฝ์šฐ์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์ƒ๊ด€ ์„œ๋ธŒ์ฟผ๋ฆฌ๋„ WHERE ์ ˆ์˜ ์กฐ๊ฑด๊ณผ ์„œ๋ธŒ์ฟผ๋ฆฌ ์–‘์ชฝ ๋ชจ๋‘๋ฅผ ๊ณ ๋ คํ•œ ์ธ๋ฑ์Šค ์„ค๊ณ„๊ฐ€ ์š”๊ตฌ๋œ๋‹ค.

SELECT * FROM t1 WHERE t1.col1 IN (
	SELECT col2 FROM t2 WHERE col3 = 100)
AND t1.col4 = 'abc';

์„œ๋ธŒ์ฟผ๋ฆฌ์˜ WEHRE ์ ˆ์— ์ง€์ •๋œ col3์™€ select list์— ์žˆ๋Š” col2๊ฐ€ ์ธ๋ฑ์Šค์˜ ๋Œ€์ƒ์ด ๋œ๋‹ค. col2๋Š” t1.col1๊ณผ ๋น„๊ต๋˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

โ†’ t2 ํ…Œ์ด๋ธ”์— (col2, col3) ๋˜๋Š” (col3, col2)๋ผ๋Š” ์ธ๋ฑ์Šค๊ฐ€ ์žˆ์œผ๋ฉด ์ด ์ƒ๊ด€ ์„œ๋ธŒ์ฟผ๋ฆฌ๋Š” ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•ด ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค.

์ฐธ๊ณ ๋กœ IN ์„œ๋ธŒ์ฟผ๋ฆฌ๋Š” EXISTS ์„œ๋ธŒ์ฟผ๋ฆฌ๋กœ ๊ฐ„๋‹จํ•˜๊ฒŒ ์žฌ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.

SELECT * FROM t1 WHERE EXISTS (
	SELECT col2 FROM t2 WHERE col3 = 100
		AND t2.col2 = t1.col1)
AND t1.col4 = 'abc';

์ด๋ ‡๊ฒŒ ๋ณด๋ฉด t2 ํ…Œ์ด๋ธ”์— ๋‹ค์ค‘ ์ปฌ๋Ÿผ ์ธ๋ฑ์Šค๊ฐ€ ํ•„์š”ํ•œ ์ด์œ ๋ฅผ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

์ •๋ ฌ

B+ํŠธ๋ฆฌ๋Š” ํ‚ค์˜ ์ˆœ์„œ๋กœ ์ •๋ ฌ๋˜์–ด ์ €์žฅ๋ผ ์žˆ์œผ๋ฏ€๋กœ ์ธ๋ฑ์Šค์˜ ์ˆœ์„œ๋กœ ํ•ญ๋ชฉ์„ ์ฝ์œผ๋ฉด ์ •๋ ฌ์˜ ๊ณ ์†ํ™”์— ๋„์›€์ด ๋œ๋‹ค. WHERE ์ ˆ์—์„œ ์ „๋ฐฉ์ผ์น˜ํ•˜๋„๋ก ์กฐ๊ฑด์„ ์ง€์ •ํ•˜๋ฉด ๋ฒ”์œ„ ๊ฒ€์ƒ‰๊ณผ ์ •๋ ฌ ๋ชจ๋‘๋ฅผ ํ•œ ๋ฒˆ์— ์ธ๋ฑ์Šค๋กœ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค.

SELECT * FROM t WHERE name LIKE '์•„%'
ORDER BY name;

์ด ์ฟผ๋ฆฌ๋Š” (name)์ด๋ผ๋Š” ์ธ๋ฑ์Šค๊ฐ€ ์žˆ์œผ๋ฉด name์— ๋Œ€ํ•œ ๊ฒ€์ƒ‰์ด ์ „๋ฐฉ์ผ์น˜์ด๋ฏ€๋กœ ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•œ ๋ฒ”์œ„ ๊ฒ€์ƒ‰์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ์ •๋ ฌ์€ ์ด ๋ฒ”์œ„์˜ ์•ž์—์„œ๋ถ€ํ„ฐ ์ˆœ์„œ๋Œ€๋กœ ์ธ๋ฑ์Šค๋ฅผ ๋”ฐ๋ผ๊ฐ€๋ฉด ๋˜๋ฏ€๋กœ ์ •๋ ฌ์—๋„ ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ฒ”์œ„๊ฐ€ ๋ช…ํ™•ํ•˜๋‹ค๋ฉด ์ •๋ ฌ์˜ ์ˆœ์„œ๋Š” ASC์—ฌ๋„ ๋˜๊ณ , DESC์—ฌ๋„ ๋œ๋‹ค.

๋‹ค์ค‘ ์ปฌ๋Ÿผ ์ธ๋ฑ์Šค๋„ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋ฒ”์œ„๊ฐ€ ๋ช…ํ™•ํ•˜๋‹ค๋Š” ๊ฒƒ๊ณผ ๊ทธ ๋ฒ”์œ„์˜ ์ธ๋ฑ์Šค๊ฐ€ ์ •๋ ฌํ‚ค๊ฐ€ ์ˆœ์„œ๋กœ ๋‚˜์—ดํ•œ๋‹ค๋Š” ๋‘ ๊ฐ€์ง€ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•œ๋‹ค๋ฉด ์ธ๋ฑ์Šค๋กœ ์ •๋ ฌ์„ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด (col1, col2, col3)๋ผ๋Š” ์ธ๋ฑ์Šค๊ฐ€ ์žˆ์„ ๋•Œ WHERE col1 = 100 AND col2 = โ€˜abcโ€™ ORDER BY col3๋ผ๋Š” ์กฐ๊ฑด์ด ์žˆ๋‹ค๋ฉด ์ •๋ ฌ์„ ์ธ๋ฑ์Šค๋กœ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ WHERE col1 = 100 ORDER BY col3์™€ ๊ฐ™์ด col2๊ฐ€ ๋น ์ ธ์žˆ์„ ๋•Œ๋Š” ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ •๋ ฌ์„ ํ•  ์ˆ˜ ์—†๋‹ค. WHERE ์ ˆ์— ์ง€์ •๋œ ๋ฒ”์œ„ ์ธ๋ฑ์Šค ํ•ญ๋ชฉ์€ ์ •๋ ฌํ‚ค์˜ col3๊ฐ€ ์•„๋‹ˆ๊ณ , col2๊ฐ€ ์•ž์ชฝ์— ์˜ค๋Š” ์ˆœ์„œ๋กœ ์ •๋ ฌ๋ผ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

์ •๋ ฌ์„ ์ธ๋ฑ์Šค๋กœ ํ•ด๊ฒฐํ•œ ์˜ˆ์‹œ

col1 col2 col3
99 abc 1
99 xyz 1
100 aaa 1
100 aaa 2
100 abc 1
100 abc 2
100 abc 3
100 abc 4
100 xyz 1
101 abc 1
101 abc 2

WHERE col1 = 100 AND col2 = โ€˜abcโ€™ ORDER BY col3๋ผ๋Š” ์กฐ๊ฑด์— ํ•ด๋‹นํ•˜๋Š” 4์ค„์ด๋‹ค. ์ •๋ ฌ์˜ ์ˆœ์„œ๊ฐ€ ASC๋ผ๋ฉด ๋„ค ๊ฐœ์˜ ํ–‰์„ ์œ„์—์„œ๋ถ€ํ„ฐ ์ˆœ์„œ๋Œ€๋กœ, DESC๋ผ๋ฉด ์•„๋ž˜์—์„œ๋ถ€ํ„ฐ ์ˆœ์„œ๋Œ€๋กœ ์ฝ์œผ๋ฉด ๋œ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

ํ•œํŽธ WHERE col1 = 100 ORDER BY col3๋ผ๋Š” ์กฐ๊ฑด์— ํ•ด๋‹นํ•˜๋Š” ํ–‰์€ 7์ค„์ด๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ทธ 7์ค„์— ๋Œ€ํ•ด col3์˜ ์ˆœ์„œ๋กœ ์ •๋ ฌ๋ผ ์žˆ์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์ธ๋ฑ์Šค ์ˆœ์„œ๋Œ€๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์–ด๋„ ์ •๋ ฌ๋˜์ง€ ์•Š๋Š”๋‹ค. ์ด๋Ÿด ๋• ํ…Œ์ด๋ธ”์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์€ ๋‹ค์Œ์— ๋‹ค์‹œ ์ •๋ ฌ์„ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•œ๋‹ค.

์ปค๋ฒ„๋ง ์ธ๋ฑ์Šค

์ฟผ๋ฆฌ์˜ ์‹คํ–‰์— ํ•„์š”ํ•œ ์ปฌ๋Ÿผ์ด ์ธ๋ฑ์Šค์— ๋ชจ๋‘ ํฌํ•จ๋ผ ์žˆ๋‹ค๋ฉด ํ…Œ์ด๋ธ” ์ž์ฒด์— ์—‘์„ธ์Šคํ•˜์ง€ ์•Š๊ณ  ์ธ๋ฑ์Šค์—๋งŒ ์—‘์„ธ์Šคํ•˜๋ฉฐ ์ฟผ๋ฆฌ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค. โ†’ ์ปค๋ฒ„๋ง ์ธ๋ฑ์Šค ๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.

์ปค๋ฒ„๋ง ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•œ ์ฟผ๋ฆฌ(์ธ๋ฑ์Šค ์˜จ๋ฆฌ ์Šค์บ”)๋Š” ๋งค์šฐ ๋น ๋ฅด๋‹ค.

โ†’ ์ธ๋ฑ์Šค์˜ ์‚ฌ์ด์ฆˆ๊ฐ€ ์ปค์งˆ ๊ฒƒ์„ ๊ฐ์˜คํ•˜๊ณ  ์ผ๋ถ€๋Ÿฌ ์—ฌ๋ถ„์˜ ์ปฌ๋Ÿผ์„ ์ธ๋ฑ์Šค์— ๋„ฃ์–ด์„œ ์ž์ฃผ ์‹คํ–‰ํ•˜๋Š” ์ฟผ๋ฆฌ๊ฐ€ ์ธ๋ฑ์Šค๋งŒ ๊ฒ€์ƒ‰๋˜๊ฒŒ ํ•˜๋Š” ๊ธฐ์ˆ ์ด ์žˆ๋‹ค.

๋””์Šคํฌ ๊ณต๊ฐ„๊ณผ ๊ฐฑ์‹  ์„ฑ๋Šฅ์€ ์กฐ๊ธˆ ๋–จ์–ด์ง€์ง€๋งŒ, ์ปค๋ฒ„๋ง ์ธ๋ฑ์Šค์˜ ํšจ๊ณผ๋Š” ํฌ๋‹ค. ๋†’์€ ๋นˆ๋„๋กœ ์‹คํ–‰๋˜๋Š” ์ฟผ๋ฆฌ๊ฐ€ ์žˆ๋‹ค๋ฉด ์ ๊ทน์ ์œผ๋กœ ์‚ฌ์šฉํ•ด๋ณด์ž.

OR๊ณผ ์ธ๋ฑ์Šค

๋‹ค์ค‘ ์ปฌ๋Ÿผ ์ธ๋ฑ์Šค๋กœ ํšจ๊ณผ๊ฐ€ ์žˆ๋Š” ๊ฒƒ์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ๊ฒ€์ƒ‰ ์กฐ๊ฑด์ด AND๋กœ ๊ฒฐํ•ฉํ•œ ๊ฒฝ์šฐ๋ฟ์ด๋‹ค.

(col1, col2)์ด๋ผ๋Š” ์ธ๋ฑ์Šค๋Š” col1 = val1 AND col2 = val2์™€ ๊ฐ™์ด AND๋กœ ์กฐ๊ฑด์„ ๊ฒฐํ•ฉํ–ˆ์„ ๋•Œ๋งŒ ํšจ๊ณผ๊ฐ€ ์žˆ๋‹ค.

ํ•œํŽธ col1 = val1 OR col2 = val2 ๋“ฑ OR๋กœ ๊ฒฐํ•ฉํ–ˆ์„ ๋•Œ๋Š” ๋‹ค์ค‘ ์ปฌ๋Ÿผ ์ธ๋ฑ์Šค๋กœ๋Š” ํ•ด๊ฒฐํ•  ์ˆ˜ ์—†๋‹ค. OR์„ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์€ OR๋กœ ๊ฒฐํ•ฉํ•œ ๊ฐ ์กฐ๊ฑด์— ์ธ๋ฑ์Šค๊ฐ€ ์žˆ์„ ๋•Œ๋‹ค.

col1 = val1 OR col2 = val2๋ผ๋Š” ๊ฒ€์ƒ‰์กฐ๊ฑด์€ (col1)๊ณผ (col2)๋ผ๋Š” ๋‘ ๊ฐœ์˜ ์ธ๋ฑ์Šค๊ฐ€ ์žˆ์–ด์•ผํ•œ๋‹ค. ์ด ์‹คํ–‰ ๊ณ„ํš์€ ๊ฐ ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•ด ๊ตฌํ•œ ROWID์˜ ์ง‘ํ•ฉ์— ๋Œ€ํ•ด์„œ ํ•ฉ์ง‘ํ•ฉ(UNION)์„ ์‹คํ–‰ํ•ด ์ตœ์ข…์ ์œผ๋กœ ํ•„์š”ํ•œ ํ–‰์ด ์–ด๋Š ๊ฒƒ์ธ์ง€ ํŒ๋‹จํ•œ๋‹ค.

โ†’ ์ธ๋ฑ์Šค ๋จธ์ง€ ๋ผ๊ณ  ํ•œ๋‹ค.

์ธ๋ฑ์Šค ๋จธ์ง€๊ฐ€ ๊ตฌํ˜„๋ผ ์žˆ๋Š”์ง€๋Š” ์ œํ’ˆ์— ๋‹ฌ๋ ค์žˆ๋‹ค. ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋Š” ์ œํ’ˆ์ผ ๊ฒฝ์šฐ WHERE ์ ˆ์˜ ๊ฒ€์ƒ‰ ์กฐ๊ฑด์— OR๋ฅผ ์‚ฌ์šฉํ•ด ๊ฒฐํ•ฉํ•˜๋Š” ๋Œ€์‹  UNION DISTINCT๋ฅผ ์‚ฌ์šฉํ•ด ๋‘ ๊ฐœ์˜ SELECT๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ ํƒํ•˜๋ฉด ์ข‹๋‹ค.

OR์— ๋Œ€ํ•ด์„œ ์ธ๋ฑ์Šค ๋จธ์ง€๊ฐ€ ์œ ์šฉํ•  ๋•Œ AND์—๋„ ์‘์šฉ์ด ๋ ๊นŒ?

col1 = val1 AND col2 = val2๋ผ๋Š” ๊ฒ€์ƒ‰ ์กฐ๊ฑด์— ๋Œ€ํ•ด (col1)๊ณผ (col2)๋ผ๋Š” ๋‘ ๊ฐœ์˜ ์ธ๋ฑ์Šค๊ฐ€ ์žˆ์„ ๋•Œ ์–‘์ชฝ์˜ ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•ด ํ•ด๊ฒฐํ•  ์ˆ˜ ์—†๋Š”์ง€๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ AND๋ฅผ ๋‘ ๊ฐœ์˜ ์ธ๋ฑ์Šค๋กœ ํ•ด๊ฒฐํ•˜๋Š” ๊ฒƒ์€ ํšจ์œจ์ ์ด์ง€ ์•Š๋‹ค.

ํ•œ์ชฝ์˜ ์ธ๋ฑ์Šค, col1์„ ์‚ฌ์šฉํ•ด ํ–‰ ๋ฐ์ดํ„ฐ๋ฅผ ๊ตฌํ•œ ๋‹ค์Œ์— ํ–‰ ๋ฐ์ดํ„ฐ์— ํฌํ•จ๋œ ์ปฌ๋Ÿผ์˜ ๊ฐ’์— ๋Œ€ํ•ด์„œ ๋‹ค๋ฅธ ๊ฒ€์ƒ‰ ์กฐ๊ฑด์ธ (col2 = val2)๋ฅผ ์ ์šฉํ•˜๋Š” ๊ฒƒ์ด ํšจ์œจ์ ์ผ ๋•Œ๊ฐ€ ๋งŽ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

์ตœ์ ์˜ ์ธ๋ฑ์Šค๋ฅผ ์ฐพ๊ธฐ ์œ„ํ•œ ์ „๋žต

์ง€๊ธˆ๊นŒ์ง€๋Š” ์ฃผ๋กœ โ€˜๊ฐ ์ธ๋ฑ์Šค๊ฐ€ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉ๋ ๊นŒ? ๋ผ๋Š” ์ ์„ ์ค‘์ ์œผ๋กœ ์„ค๋ช…ํ–ˆ๋‹ค. ์ด ๋‹ค์Œ์€ ์ตœ์ ์˜ ์ธ๋ฑ์Šค๋ฅผ ์ฐพ๋Š”๋ฐ ํ•„์š”ํ•œ ์ „๋žต์„ ์†Œ๊ฐœํ•œ๋‹ค.

์ธ๋ฑ์Šค โ‰  ํ›„๋ณดํ‚ค

๋ฆด๋ ˆ์ด์…˜์˜ ํ›„๋ณดํ‚ค๋งŒ ์ธ๋ฑ์Šค๊ฐ€ ๋˜๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„ ์ธ๋ฑ์Šค๋Š” WHERE ์ ˆ์˜ ๊ฒ€์ƒ‰ ์กฐ๊ฑด๊ณผ ๊ฐ™์€ ์ œ์•ฝ์„ ๋น ๋ฅด๊ฒŒ ์‹คํ–‰ํ•˜๋Š” ๋ฐ ํ•„์š” ํ•˜๋‹ค. ์ œ์•ฝ์€ ๋ณด์กฐํ‚ค = ๊ธฐ๋ณธํ‚ค์— ๋Œ€ํ•œ ๋“ฑ๊ฐ€๋น„๊ต๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ฉด ์ธ๋ฑ์Šค์˜ ๊ตฌ์กฐ์ƒ ๋ฒ”์œ„ ๊ฒ€์ƒ‰์ด ๋œ๋‹ค. ์ด๊ฒƒ์€ ์ธ๋ฑ์Šค์˜ ๊ฐ’์ด ์ค‘๋ณต๋  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

์ธ๋ฑ์Šฌ๋ฅด ์ž˜ ์„ค๊ณ„ํ•˜๊ธฐ ์œ„ํ•œ ์ตœ๋Œ€์˜ ๋ชฉ์ ์€

์–ด๋–ป๊ฒŒ ํ•˜๋ฉด ๋ฒ”์œ„ ๊ฒ€์ƒ‰์— ํ•„์š”ํ•œ ์ธ๋ฑ์Šค๋ฅผ ์„ค๊ณ„ํ•˜๋Š”๊ฐ€

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

์ปฌ๋Ÿผ์˜ ์ •๋ ฌ ์ˆœ์„œ

B+ํŠธ๋ฆฌ ์ธ๋ฑ์Šค๋Š” ์ปฌ๋Ÿผ์˜ ์ˆœ์„œ๊ฐ€ ์ค‘์š”ํ•˜์ง€๋งŒ, ํ•œํŽธ์œผ๋กœ ๊ด€๊ณ„ํ˜• ๋ชจ๋ธ์—์„œ ํ›„๋ณดํ‚ค๋‚˜ ์Šˆํผํ‚ค๋Š” ์ง‘ํ•ฉ์ด๋ฏ€๋กœ ์š”์†Œ ์‚ฌ์ด์˜ ์ˆœ์„œ๊ฐ€ ์—†๋‹ค.

โ†’ ์–ด๋–ค ์ˆœ์„œ๋กœ ์ปฌ๋Ÿผ์„ ์ •๋ ฌํ•  ๊ฒƒ์ธ์ง€๊ฐ€ ์ค‘์š”ํ•˜๋‹ค.

์–ด๋–ค ์ˆœ์„œ๋กœ ์ปฌ๋Ÿผ์„ ์ •๋ ฌํ•ด์•ผ ํ• ์ง€๋Š” ์ฟผ๋ฆฌ์— ๋‹ฌ๋ ค์žˆ๋‹ค. ๋ฒ”์œ„ ๊ฒ€์ƒ‰์ด๋‚˜ ์ •๋ ฌ์ด ์žˆ์„ ๋•Œ๋Š” ๊ทธ๋Ÿฌํ•œ ๊ฒ€์ƒ‰ ์กฐ๊ฑด์ด ์ „๋ฐฉ์ผ์น˜๊ฐ€ ๋˜๊ฒŒ ์ปฌ๋Ÿผ์„ ๋ฐฐ์น˜ํ•ด์•ผ ํ•œ๋‹ค. ๊ฐ™์€ ์ปฌ๋Ÿผ์œผ๋กœ ์กฐํ•ฉํ•œ ์ธ๋ฑ์Šค๋ผ๋„ ์ˆœ์„œ๊ฐ€ ๋‹ค๋ฅธ ๊ฒƒ์ด ํ•„์š”ํ•  ๋•Œ๋„ ์žˆ๋‹ค.

์ „์ฒด์˜ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค๋ฉด ๊ฐ™์€ ์ปฌ๋Ÿผ์˜ ์กฐํ•ฉ์œผ๋กœ ์ˆœ์„œ๋งŒ ๋‹ค๋ฅธ ์ธ๋ฑ์Šค๋ฅผ ์ž‘์„ฑํ•ด์•ผ ํ•œ๋‹ค.

์นด๋””๋„๋ฆฌํ‹ฐ

์–ด๋–ค ์ปฌ๋Ÿผ์„ ์ธ๋ฑ์Šค์— ํฌํ•จ์‹œํ‚ฌ ๊ฒƒ์ธ๊ฐ€๋ฅผ ํŒ๋‹จํ•˜๋Š” ๋ฐ ์žˆ์–ด ํฌ์ธํŠธ๊ฐ€ ๋˜๋Š” ๊ฒƒ์ด ์นด๋””๋„๋ฆฌํ‹ฐ(์ง‘ํ•ฉ์˜ ๋ฐ€๋„)์ด๋‹ค. ์นด๋””๋„๋ฆฌํ‹ฐ๋ž€ ์ง‘ํ•ฉ์— ํฌํ•จ๋œ ์š”์†Œ์˜ ๊ฐœ์ˆ˜๋‹ค. ์ง‘ํ•ฉ์˜ ์š”์†Œ์ˆ˜์ด๋ฏ€๋กœ ์ค‘๋ณต์€ ๋ฐฐ์ œ๋œ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด WHERE ์ ˆ์—์„œ col1, col2, col3๋ผ๋Š” ์„ธ ๊ฐœ์˜ ์ปฌ๋Ÿผ์ด ์‚ฌ์šฉ๋˜๋Š” ๊ฒฝ์šฐ col1๊ณผ col2์˜ ์นด๋””๋„๋ฆฌํ‹ฐ๊ฐ€ ์ถฉ๋ถ„ํžˆ ๋†’๋‹ค๋ฉด col3์€ ๊ตณ์ด ์ธ๋ฑ์Šค์— ๋„ฃ์ง€ ์•Š์•„๋„ ๋œ๋‹ค.

์ถฉ๋ถ„ํžˆ ๋น ๋ฅด๋‹ค๋ฉด ์ผ๋ถ€๋Ÿฌ ๋ชจ๋“  ์ปฌ๋Ÿผ์„ ํฌํ•จํ•œ ์ธ๋ฑ์Šค๋ฅผ ์ž‘์„ฑํ•  ํ•„์š”๋Š” ์—†๋‹ค.

์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๊ฒ€์ƒ‰ ์กฐ๊ฑด์— ๋Œ€ํ•ด ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜์™€ ๊ฐ™์ด ์นด๋””๋„๋ฆฌํ‹ฐ๊ฐ€ ๋†’์€ ์ปฌ๋Ÿผ์„ ์ธ๋ฑ์Šค๋กœ ๋งŒ๋“œ๋Š” ๊ธฐ์ˆ ๋„ ์ค‘์š”ํ•˜๋‹ค.

์ตœ์ ์˜ ์กฐํ•ฉ์„ ์ฐพ์•„๋ผ

SQL ๊ตฌ๋ฌธ์ƒ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ธ๋ฑ์Šค๊ฐ€ ์‚ฌ์šฉ๋  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋Š” ๊ณณ์— ๋Œ€ํ•ด์„œ๋Š” ๋ชจ๋‘ ์ธ๋ฑ์Šค ์ž‘์„ฑ์„ ๊ฒ€ํ† ํ•  ํ•„์š”๊ฐ€ ์žˆ๋‹ค.

โ†’ ์šฐ์„  ํ•„์š”ํ•  ๊ฒƒ ๊ฐ™์€ ์ธ๋ฑ์Šค๋ฅผ ์ฐพ์•„๋‚ผ ์ˆ˜ ์žˆ๋Š”์ง€๊ฐ€ ์ค‘์š”ํ•œ ํฌ์ธํŠธ๊ฐ€ ๋œ๋‹ค.

๋‹ค์Œ์€ ํ•„์š”ํ•œ ์ธ๋ฑ์Šค๋งŒ ๋‚จ๊ธด๋‹ค. ์ธ๋ฑ์Šค๊ฐ€ ๋Š˜์–ด๋‚˜๋ฉด ๊ฐฑ์‹ ์— ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ์ปค์ง€๊ณ , ๋งŽ์„์ˆ˜๋ก ์ข‹์ง€ ์•Š๋‹ค.

โ†’ ํ•„์š”ํ•œ ์ธ๋ฑ์Šค๋ฅผ ํŒ๋ณ„ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค.

์–ด๋–ค ์ปฌ๋Ÿผ์„ ์ธ๋ฑ์Šค์— ํฌํ•จํ•ด์•ผ ํ•˜๋Š”์ง€์— ๋Œ€ํ•œ ํŒ๋‹จ์€ ๊ฐ ์ปฌ๋Ÿผ์˜ ์นด๋””๋„๋ฆฌํ‹ฐ, ํ…Œ์ด๋ธ”์˜ ์‚ฌ์ด์ฆˆ ๋˜๋Š” ์ฟผ๋ฆฌ์˜ ์‹คํ–‰๋นˆ๋„ ๋“ฑ์„ ๊ฒ€ํ† ํ•ด ์‹ค์‹œํ•œ๋‹ค.

์ธ๋ฑ์Šค๋ฅผ ์„ค๊ณ„ํ•  ๋•Œ์˜ ์–ด๋ ค์šด ์ ์€ ๋ฐ์ดํ„ฐ์˜ ํ’ˆ์งˆ(์‚ฌ์ด์ฆˆ๋‚˜ ์นด๋””๋„๋ฆฌํ‹ฐ)์ด๋‚˜ ์ฟผ๋ฆฌ์˜ ์‹คํ–‰๋นˆ๋„์— ๋”ฐ๋ผ ๊ฒฐ์ •์ด ์ขŒ์šฐ๋œ๋‹ค๋Š” ์ ์ด๋‹ค. ํ…Œ์ด๋ธ” ์„ค๊ณ„, DB ์„ค๊ณ„ ๋˜๋Š” ์ฟผ๋ฆฌ๋งŒ์„ ๋ด์„œ๋Š” ์ตœ์ ์˜ ์ธ๋ฑ์Šค ์กฐํ•ฉ์ด ์–ด๋–ค ๊ฒƒ์ธ์ง€ ํŒ๋‹จํ•  ์ˆ˜ ์—†๋‹ค.

๋˜ํ•œ ํ•œ ๊ฐœ์˜ ์ฟผ๋ฆฌ๊ฐ€ ๋นจ๋ผ๋„ ๊ทธ ๋•Œ๋ฌธ์— ๊ฐฑ์‹ ์ด ๋Šฆ์–ด์ ธ ์ „์ฒด์ ์œผ๋กœ ์„ฑ๋Šฅ์ด ์ €ํ•˜๋œ๋‹ค๋ฉด ์ฃผ๊ฐ์ด ์ „๋„๋œ ๊ผด์ด ๋œ๋‹ค. ์ธ๋ฑ์Šค ํŠœ๋‹์„ ํ•  ๋•Œ ์ „์ฒด์ ์ธ ์„ฑ๋Šฅ์ด ์ข‹์•„์ง€๊ฒŒ ๊ท ํ˜•์„ ์žก์•„์•ผ ํ•œ๋‹ค.

๊ฐ ์ฟผ๋ฆฌ๋ฅผ ๋”ฐ๋กœ๋”ฐ๋กœ ๋ด์„œ๋Š” ์ „์ฒด์ ์ธ ์„ฑ๋Šฅ์ด ์–ด๋–ค์ง€ ํŒ๋‹จํ•  ์ˆ˜ ์—†๋‹ค.

โ†’ ๋ฒค์น˜๋งˆํฌ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ๋ฒค์น˜๋งˆํฌ๋ฅผ ์ˆ˜ํ–‰ํ•ด ์‘์šฉํ”„๋กœ๊ทธ๋žจ ์ „์ฒด์˜ ์„ฑ๋Šฅ์ด ๊ฐœ์„ ๋˜๋„๋ก ๊ท ํ˜•์„ ์กฐ์ •ํ•ด์•ผ ํ•œ๋‹ค.

์ธ๋ฑ์Šค์˜ ์„ค๊ณ„๋Š” ์กฐํ•ฉ ์ตœ์ ํ™”์˜ ๋ฌธ์ œ๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค.

์–ด๋ ค์šด ์ž‘์—…์— ๋งž์„œ๊ธฐ

์—ฌ๊ธฐ์„œ ์†Œ๊ฐœํ•œ ๊ธฐ๋ณธ์„ ์ œ๋Œ€๋กœ ์Šต๋“ํ•˜๊ณ  ์ธ๋ฑ์Šค๋ฅผ ์„ค๊ณ„ํ•ด๋ณด์ž.

  • B+ํŠธ๋ฆฌ ์ธ๋ฑ์Šค์˜ ๊ธฐ๋Šฅ
  • B+ํŠธ๋ฆฌ ์ด์™ธ์˜ ์ธ๋ฑ์Šค์˜ ์ข…๋ฅ˜
  • ์ธ๋ฑ์Šค ์„ค๊ณ„์— ์•ž์„œ ์ œ๋Œ€๋กœ ์ •๊ทœํ™”๋ฅผ ์‹ค์‹œ
  • DB ์„ค๊ณ„์™€ ์ฟผ๋ฆฌ๊ฐ€ ์ •ํ•ด์ง€๊ณ  ๋‚˜์„œ ์ธ๋ฑ์Šค๋ฅผ ๊ฒฐ์ •
  • SQL์˜ ์–ด๋–ค ๋ถ€๋ถ„์— ์ธ๋ฑ์Šค๊ฐ€ ํ•„์š”ํ•œ๊ฐ€
  • ์ปฌ๋Ÿผ์ด ์ •๋ ฌ ์ˆœ์„œ๋งŒ ๋‹ค๋ฅธ ์ธ๋ฑ์Šค๊ฐ€ ์žˆ์–ด์•ผ ํ•˜๋Š”๊ฐ€
  • ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜์˜ ์นด๋””๋„๋ฆฌํ‹ฐ๊ฐ€ ๋†’์€ ์ปฌ๋Ÿผ๋งŒ ํฌํ•จํ•œ ์ธ๋ฑ์Šค๋ฅผ ์ž‘์„ฑ
  • ํ•„์š”ํ•œ ์ธ๋ฑ์Šค์˜ ์กฐํ•ฉ์„ ๋Š˜์–ด๋†“๋Š” ๋ฐฉ๋ฒ•

์ด๋Ÿฌํ•œ ์ธ๋ฑ์Šค ์„ค๊ณ„๋Š” ์“ฐ๋ ˆ๊ธฐํ†ต ํ–‰!

  • ๋ชจ๋“  ์ปฌ๋Ÿผ์— ์ธ๋ฑ์Šค๊ฐ€ ์žˆ๋‹ค.
  • ์ธ๋ฑ์Šค์— ํฌํ•จ๋œ ์ปฌ๋Ÿผ์ด ํ•œ ๊ฐœ ๋ฐ–์— ์—†๋‹ค.(๋ฉ€ํ‹ฐ ์ปฌ๋Ÿผ ์ธ๋ฑ์Šค๊ฐ€ ์•„๋‹ˆ๋‹ค)
  • ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋‹ค์ค‘ ์ปฌ๋Ÿผ ์ธ๋ฑ์Šค์— ๊ฐ™์€ ์ปฌ๋Ÿผ์˜ ์กฐํ•ฉ์ด ์žˆ๊ณ  ๋ชจ๋‘ ๊ฐ™์€ ์ •๋ ฌ๋กœ ๋˜์–ด ์žˆ๋‹ค.
  • 0 ๋˜๋Š” 1 ๋ฐ–์— ๊ฐ’์ด ์—†๋Š” ํ”Œ๋ž˜๊ทธ์™€ ๊ฐ™์€ ์ปฌ๋Ÿผ์— ์ธ๋ฑ์Šค๊ฐ€ ์žˆ๋‹ค.

์š”์•ฝ

์ธ๋ฑ์Šค ์„ค๊ณ„์—์„œ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ฒƒ์€ ๊ธฐ๋ฐ˜์ด ๋˜๋Š” DB์˜ ๋…ผ๋ฆฌ์„ค๊ณ„(DB์„ค๊ณ„์™€ ์ฟผ๋ฆฌ)๊ฐ€ ์ œ๋Œ€๋กœ ๋˜์–ด ์žˆ์–ด์•ผ ํ•œ๋‹ค.


Written by@Sunny Son
๊ฐœ๋ฐœ์ž๋Š” ์˜ค๋Š˜๋„ ๋š ๋š 

GitHubFacebook