# kmg Database ๋‹ต๋ณ€ ###### tags: `Database ๋‹ต๋ณ€` ## Database #### ๐Ÿ’ก Database์˜ ํŠน์ง•์„ ์„ค๋ช…ํ•˜์‹œ์˜ค. ์ผ๊ด€์„ฑ ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์—ฌ๋Ÿฌ ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. #### ๐Ÿ’ก Database ์„ค๊ณ„ ์‹œ, ๊ณ ๋ คํ•  ์ ์„ ์„ค๋ช…ํ•˜์‹œ์˜ค. ๋ฐ์ดํ„ฐ์˜ ์ •ํ™•์„ฑ๊ณผ ์ผ๊ด€์„ฑ์„ ๊ณ ๋ คํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ์˜ ์ •ํ™•์„ฑ์ด๋ž€ ๋ฐ์ดํ„ฐ์˜ ์ค‘๋ณต์ด๋‚˜ ๋ˆ„๋ฝ์ด ์—†๋Š” ์ƒํƒœ๋ฅผ ๋งํ•ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ์˜ ์ผ๊ด€์„ฑ์€ ์›์ธ๊ณผ ๊ฒฐ๊ณผ์˜ ์˜๋ฏธ๊ฐ€ ์—ฐ์†์ ์œผ๋กœ ๋ณด์žฅ๋˜์–ด ๋ณ€ํ•˜์ง€ ์•Š๋Š” ์ƒํƒœ๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. #### ๐Ÿ’ก Schema๊ฐ€ ๋ฌด์—‡์ธ๊ฐ€์š”? ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์–ด๋–ค ๊ตฌ์กฐ๋กœ ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋˜๋Š”์ง€๋ฅผ ์ •์˜ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์†์„ฑ, ๊ฐœ์ฒด, ๊ด€๊ณ„, ์ œ์•ฝ์กฐ๊ฑด๋“ค๋กœ ๊ธฐ์ˆ ๋ฉ๋‹ˆ๋‹ค. #### ๐Ÿ’ก DBMS๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”? ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด ์ž…๋‹ˆ๋‹ค. #### ๐Ÿ’ก ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง์ด ๋ฌด์—‡์ธ๊ฐ€์š”? ๋ณต์žกํ•œ ํ˜„์‹ค ์„ธ๊ณ„์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹จ์ˆœํ™”ํ•ด์„œ ์ปดํ“จํ„ฐ ์„ธ๊ณ„์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ณผ์ •์ž…๋‹ˆ๋‹ค. ## Normalization #### ๐Ÿ’ก ์ •๊ทœํ™”๋ฅผ ์™œ ์ง„ํ–‰ํ•˜๋‚˜์š”? ์ข…์†์ ์œผ๋กœ ์ž˜๋ชป ์„ค๊ณ„๋œ ๊ด€๊ณ„ํ˜• ์Šคํ‚ค๋งˆ๋ฅผ ๋ถ„ํ•ดํ•˜์—ฌ ํ•˜๋‚˜์˜ ๋ฆด๋ ˆ์ด์…˜์— ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•ด์„œ ์ž…๋‹ˆ๋‹ค. ์ •๊ทœํ™”๋ฅผ ๊ฑฐ์น˜์ง€ ์•Š์œผ๋ฉด ๋ฐ์ดํ„ฐ์˜ ์ค‘๋ณต์„ฑ ๋ฌธ์ œ๋กœ ์ธํ•ด ์ด์ƒ ํ˜„์ƒ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. #### ๐Ÿ’ก ๋ชจ๋“  ํ…Œ์ด๋ธ”์— ์ •๊ทœํ™”๋ฅผ ์ง„ํ–‰ํ•˜๋‚˜์š”? ์•„๋‹™๋‹ˆ๋‹ค. ํ•ญ์ƒ ๊ฐ™์ด ์‚ฌ์šฉ๋˜๋Š” ์†์„ฑ๊ฐ’์ด ์ •๊ทœํ™”๋กœ ์ธํ•ด ๊ฐ๊ฐ ๋‹ค๋ฅธ ํ…Œ์ด๋ธ”๋กœ ์ชผ๊ฐœ์ง„๋‹ค๋ฉด ํ•ญ์ƒ join์—ฐ์‚ฐ์„ ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡๊ฒŒ ๋˜๋ฉด ์—ฐ์‚ฐํšŸ์ˆ˜์˜ ์ฆ๊ฐ€๋กœ ์„ฑ๋Šฅ ์ €ํ•˜ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฐ ๊ฒฝ์šฐ์—๋Š” ์—ญ์ •๊ทœํ™”๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. #### ๐Ÿ’ก ์ด์ƒํ˜„์ƒ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜์‹œ์˜ค. ์ด์ƒํ˜„์ƒ์€ ์ •๊ทœํ™”๋ฅผ ๊ฑฐ์น˜์ง€ ์•Š์•„ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ถˆํ•„์š”ํ•˜๊ฒŒ ์ค‘๋ณต๋˜์–ด ์ƒ๊ธฐ๋Š” ๋ฌธ์ œ๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ข…๋ฅ˜์—๋Š” ์‚ฝ์ž… ์ด์ƒ, ์‚ญ์ œ ์ด์ƒ, ๊ฐฑ์‹  ์ด์ƒ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฝ์ž… ์ด์ƒ์€ ๋ฆด๋ ˆ์ด์…˜์— ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฝ์ž…ํ•  ๋•Œ ์›ํ•˜์ง€ ์•Š์€ ๊ฐ’๋“ค๋„ ํ•จ๊ป˜ ์‚ฝ์ž…๋˜๋Š” ํ˜„์ƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์‚ญ์ œ ์ด์ƒ์€ ๋ฆด๋ ˆ์ด์…˜์—์„œ ํŠœํ”Œ์„ ์‚ญ์ œํ•  ๋•Œ ๋‹ค๋ฅธ ๊ฐ’๋“ค๋„ ํ•จ๊ป˜ ์‚ญ์ œ๋˜๋Š” ํ˜„์ƒ์ž…๋‹ˆ๋‹ค. ๊ฐฑ์‹ ์ด์ƒ์€ ๋ฆด๋ ˆ์ด์…˜์—์„œ ํŠœํ”Œ์˜ ์†์„ฑ๊ฐ’์„ ๊ฐฑ์‹ ํ•  ๋•Œ ์ผ๋ถ€ ํŠœํ”Œ๋งŒ ๊ฐฑ์‹ ๋˜๋Š” ํ˜„์ƒ์ž…๋‹ˆ๋‹ค. #### ๐Ÿ’ก ์ •๊ทœํ™” ๋‹จ๊ณ„๋ณ„ ๊ณผ์ •์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜์‹œ์˜ค. ์ œ 1์ •๊ทœํ˜•์€ ๋„๋ฉ”์ธ์„ ์›์ž๊ฐ’์œผ๋กœ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ œ 2์ •๊ทœํ˜•์€ ๋ถ€๋ถ„ ํ•จ์ˆ˜์  ์ข…์†์„ ์ œ๊ฑฐํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ œ 3 ์ •๊ทœํ˜•์€ ์ดํ–‰์  ํ•จ์ˆ˜ ์ข…์†์„ ์ œ๊ฑฐํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. BCNF ๋Š” ๊ฒฐ์ •์ž์ด๋ฉด์„œ ํ›„๋ณดํ‚ค๊ฐ€ ์•„๋‹Œ๊ฒƒ์„ ์ œ๊ฑฐํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ œ 4 ์ •๊ทœํ˜•์€ ๋‹ค์น˜ ์ข…์†์„ฑ์„ ์ด์šฉํ•˜๋Š” ๊ฒƒ์ด๊ณ , ์ œ 5 ์ •๊ทœํ˜•์€ ์กฐ์ธ ์ข…์†์„ฑ์„ ์ด์šฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ## RDBMS/NoSQL #### ๐Ÿ’ก ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ํŠน์ง• ์Šคํ‚ค๋งˆ์— ๋”ฐ๋ผ์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ด€๋ฆฌํ•˜๋ฏ€๋กœ ์ •๊ตํ•œ ๊ฒ€์ƒ‰์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋ถ€ํ•˜์˜ ๋ถ„์‚ฐ์ด ์–ด๋ ต๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. #### ๐Ÿ’ก ๋ฌด๊ฒฐ์„ฑ ์ œ์•ฝ์กฐ๊ฑด์ด๋ž€ ๋ฌด์—‡์ธ๊ฐ€? ๋ฐ์ดํ„ฐ๊ฐ€ ์ •ํ™•์„ฑ๊ณผ ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด์„œ ๊ฐ€์ ธ์•ผํ•  ์กฐ๊ฑด๋“ค์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ๊ฐœ์ฒด ๋ฌด๊ฒฐ์„ฑ์€ ๊ธฐ๋ณธํ‚ค๊ฐ€ Null์ด๋ฉด ์•ˆ๋˜๊ณ  ์ค‘๋ณต ๊ฐ’์„ ๊ฐ€์ง€๋ฉด ์•ˆ๋˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ฐธ์กฐ ๋ฌด๊ฒฐ์„ฑ์€ ์™ธ๋ž˜ํ‚ค ๊ฐ’์ด Null ๋˜๋Š” ์ฐธ์กฐ ํ…Œ์ด๋ธ”์˜ ๊ธฐ๋ณธํ‚ค ๊ฐ’๊ณผ ๋™์ผํ•ด์•ผ ํ•จ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ๋„๋ฉ”์ธ ๋ฌด๊ฒฐ์„ฑ์€ ์†์„ฑ๊ฐ’์ด ๋„๋ฉ”์ธ์— ์†ํ•œ ๊ฐ’์ด์–ด์•ผ ํ•จ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. #### ๐Ÿ’ก View๋ž€ ๋ฌด์—‡์ธ๊ฐ€? ์‚ฌ์šฉ์ž์—๊ฒŒ ์ ‘๊ทผ์ด ํ—ˆ์šฉ๋œ ๋ฐ์ดํ„ฐ๋งŒ ๋ณด์—ฌ์ฃผ๊ธฐ ์œ„ํ•ด ๋งŒ๋“ค์–ด์ง„ ๊ฐ€์ƒ ํ…Œ์ด๋ธ”์ž…๋‹ˆ๋‹ค. #### ๐Ÿ’ก SQL๊ณผ NoSQL์˜ ์ฐจ์ด์ ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜์‹œ์˜ค. sql์€ ์Šคํ‚ค๋งˆ์— ๋”ฐ๋ผ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ฒ€์ƒ‰์— ์šฉ์ดํ•ฉ๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด ์Šคํ‚ค๋งˆ๊ฐ€ ์—†๋Š” NoSQL์€ ๋ฐฉ๋Œ€ํ•œ ์–‘์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ž์œ ๋กญ๊ฒŒ ์ €์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. #### ๐Ÿ’ก Select ์ฟผ๋ฆฌ ์‹คํ–‰ ์ˆœ์„œ <img src = "https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FRsvSY%2FbtqCEPbs2Sv%2Fq0kvql0BKJnxitoOFkBbGK%2Fimg.png"> ![](https://i.imgur.com/5BQKOpS.png) #### ๐Ÿ’ก Subquery์™€ Join์˜ ์ฐจ์ด์  ์„œ๋ธŒ์ฟผ๋ฆฌ๋Š” ๋‹ค๋ฅธ ์ฟผ๋ฆฌ ๋‚ด๋ถ€์— ํฌํ•จ๋˜์–ด ์žˆ๋Š” select๋ฌธ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. Join์ด๋ž€ 2๊ฐœ์˜ ํ…Œ์ด๋ธ”์„ ํŠน์ • ์†์„ฑ์„ ํ†ตํ•ด ์—ฐ๊ฒฐํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. #### ๐Ÿ’ก Subquery์˜ ์„ฑ๋Šฅ์€? MySQL 5.5 ์ดํ•˜์˜ ๋ฒ„์ „์—์„œ IN์ ˆ์— ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ EXISTS๋กœ ํ…Œ์ด๋ธ”์„ FULL SCAN ํ•˜์—ฌ ์†๋„๊ฐ€ ๋А๋ฆฝ๋‹ˆ๋‹ค. MySQL 5.6๋ถ€ํ„ฐ๋Š” ์ตœ์ ํ™”๊ฐ€ ๋˜์–ด ์žˆ์ง€๋งŒ ๋‹ค์–‘ํ•œ ์กฐ๊ฑด์— ์ตœ์ ํ™”๋˜์–ด ์žˆ์ง€ ์•Š์•„ ๊ฐ€๋Šฅํ•œ join๋ฌธ 2๊ฐœ๋กœ ํ‘ธ๋Š” ๊ฒƒ์ด ๋” ํšจ๊ณผ์ ์ž…๋‹ˆ๋‹ค. #### ๐Ÿ’ก PK์™€ FK ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”. PK๋Š” ์ตœ์†Œ์„ฑ, ์œ ์ผ์„ฑ ํŠน์ง•์„ ๊ฐ€์ง€๋ฉฐ null ๊ฐ’์„ ๊ฐ€์งˆ ์ˆ˜ ์—†๋Š” ํ‚ค์ž…๋‹ˆ๋‹ค. FK๋Š” ๋ฆด๋ ˆ์ด์…˜ ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ํ‘œ์‹œํ•˜๋Š” ํ‚ค์ž…๋‹ˆ๋‹ค. FK๋Š” null๊ฐ’์ด๊ฑฐ๋‚˜ ์ฐธ์กฐํ•˜๋Š” ํ…Œ์ด๋ธ”์˜ PK ๊ฐ’์ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ## Transaction #### ๐Ÿ’ก ํŠธ๋žœ์žญ์…˜์ด๋ž€ ๋ฌด์—‡์ด๊ณ  ํŠน์„ฑ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜์‹œ์˜ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ƒํƒœ๋ฅผ ๋ณ€ํ™”์‹œํ‚ค๊ธฐ ์œ„ํ•ด ํ•œ๋ฒˆ์— ์ˆ˜ํ–‰๋˜์–ด์•ผ ํ•  ์—ฐ์‚ฐ๋“ค์ž…๋‹ˆ๋‹ค. ์›์ž์„ฑ, ์ผ๊ด€์„ฑ, ๊ณ ๋ฆฝ์„ฑ, ์ง€์†์„ฑ์˜ ํŠน์ง•์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. #### ๐Ÿ’ก ์ž ๊ธˆ๊ธฐ๋ฒ•(Locking)์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜์‹œ์˜ค. ํŠธ๋žœ์ ์…˜ ์—ฌ๋Ÿฌ๊ฐœ๊ฐ€ ๋™์‹œ์— ์ˆ˜ํ–‰๋  ๋•Œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ํ”„๋žœ์ ์…˜์— Lock์„ ์„ค์ •ํ•˜์—ฌ Lock์ด ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ ๋‹ค๋ฅธ ํŠธ๋žœ์ ์…˜์ด ์ˆ˜ํ–‰๋  ์ˆ˜ ์—†๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. #### ๐Ÿ’ก ๊ต์ฐฉ์ƒํƒœ(Deadlock)๋ž€ ๋ฌด์—‡์ธ๊ฐ€? ์—ฌ๋Ÿฌ ํŠธ๋žœ์ ์…˜์ด ์‹คํ–‰๋˜์ง€ ๋ชปํ•˜๊ณ  ๋ฌด๊ธฐํ•œ ๋Œ€๊ธฐ์ค‘์ธ ์ƒํƒœ๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. #### ๐Ÿ’ก ๊ต์ฐฉ์ƒํƒœ์˜ ๋นˆ๋„๋ฅผ ๋‚ฎ์ถ”๋Š” ๋ฐฉ๋ฒ•์—๋Š” ๋ฌด์—‡์ด ์žˆ๋‚˜์š”? ์˜ˆ๋ฐฉ๋ฐฉ๋ฒ•๊ณผ ํšŒ๋ณต๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฐฉ๋ฒ•์€ ํŠธ๋žœ์žญ์…˜ ์‹œ์ž‘ ์ „, ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ์— LOCK์„ ๋ชจ๋‘ ๊ฑธ์–ด์ฃผ๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ํšŒ๋ณต๋ฒ•์€ ์ž์› ํ• ๋‹น ์‹œ, ํƒ€์ž„์Šคํƒฌํ”„๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‹œ๊ฐ„ ์ˆœ์„œ๋Œ€๋กœ ์ œ์–ดํ•˜๋Š” ๊ธฐ๋ฒ•์ž…๋‹ˆ๋‹ค. ## Index #### ๐Ÿ’ก Index๋ž€ ๋ฌด์—‡์ธ๊ฐ€? ๋ฐ์ดํ„ฐ์— ๋น ๋ฅด๊ฒŒ ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•ด <ํ‚ค๊ฐ’, ํฌ์ธํ„ฐ> ์Œ์œผ๋กœ ๊ตฌ์„ฑ๋˜๋Š” ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค. #### ๐Ÿ’ก ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ Index ๊ตฌ์กฐ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜์‹œ์˜ค. ํ•ด์‰ฌํ…Œ์ด๋ธ”๊ณผ B+Tree ๊ตฌ์กฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. * ํ•ด์‰ฌํ…Œ์ด๋ธ”์€ ํ‚ค ๊ฐ’์— ํ•ด์‰ฌํ•จ์ˆ˜๋ฅผ ์ ์šฉํ•˜์—ฌ ๋‚˜์˜จ ์ฃผ์†Œ๊ฐ’๊ณผ ๋งค์นญํ•˜๋Š” ๊ธฐ๋ฒ•์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋ถ€๋“ฑํ˜ธ ์—ฐ์‚ฐ์ด ๋งŽ์€ db์—๋Š” ํšจ๊ณผ์ ์ด์ง€ ์•Š์€ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. * B+Tree๋Š” LinkedList๋กœ ์—ฐ๊ฒฐ๋œ ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค. ์—ฐ๊ฒฐ๋œ ๋…ธ๋“œ๋ฅผ ๋”ฐ๋ผ๊ฐ€๋ฉด์„œ ์ผ์น˜ํ•˜๋Š” ๊ฐ’์œผ๋กœ ๊ฐ€๋ฉด ์ฝ๊ณ , ์ผ์น˜ํ•˜์ง€ ์•Š๋Š” ๊ฐ’์ด ๋‚˜์˜ค๋ฉด ์ฆ‰์‹œ ์ค‘์ง€ํ•ฉ๋‹ˆ๋‹ค. B+Tree๋Š” ๋ถ€๋“ฑํ˜ธ ์—ฐ์‚ฐ์— ํšจ์œจ์ ์ž…๋‹ˆ๋‹ค. ##### ์™œ ํšจ๊ณผ์ ์ผ๊นŒ์š”?--> ํ ? #### ๐Ÿ’ก Index๋ฅผ ๋”ฐ๋กœ ์„ค์ •ํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ์˜ ํ…Œ์ด๋ธ”์€ ์–ด๋–ค๊ฐ€์š”? ์ธ๋ฑ์Šค๋ฅผ ์„ค์ •ํ•˜์ง€ ์•Š์•„๋„ ๊ธฐ๋ณธ์ ์œผ๋กœ PK๊ฐ’์ด ์ธ๋ฑ์Šค๋กœ ์„ค์ •๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. #### ๐Ÿ’ก Index ์‚ฌ์šฉ ์‹œ ์žฅ๋‹จ์ ๊ณผ ์‚ฌ์šฉํ•˜๋ฉด ์ข‹์€ ๊ฒฝ์šฐ์™€ ๋‚˜์œ ๊ฒฝ์šฐ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜์‹œ์˜ค. ์ธ๋ฑ์Šค์˜ ์žฅ์ ์€ ๋ฐ์ดํ„ฐ์˜ ์กฐํšŒ๊ฐ€ ๋น ๋ฅด๋‹ค๋Š” ์ ์ด๊ณ , ๋‹จ์ ์€ ์ถ”๊ฐ€ ์ €์žฅ๊ณต๊ฐ„์ด ํ•„์š”ํ•˜๋‹ค๋Š” ์ ์ž…๋‹ˆ๋‹ค. ์ธ๋ฑ์Šค๋Š” ์‚ฝ์ž…, ์‚ญ์ œ, ๊ฐฑ์‹ ์ด ์ž์ฃผ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š” ํ…Œ์ด๋ธ”, ๋ฐ์ดํ„ฐ ์ค‘๋ณต๋„๊ฐ€ ๋‚ฎ์€ ์นผ๋Ÿผ์— ์‚ฌ์šฉํ•˜๋ฉด ์ข‹์Šต๋‹ˆ๋‹ค. ์‚ฝ์ž…, ์‚ญ์ œ, ๊ฐฑ์‹ ์ด ๋ฐœ์ƒํ•˜๊ฒŒ ๋˜๋ฉด ์ธ๋ฑ์Šค ํ…Œ์ด๋ธ”์„ ์žฌ์ •๋ ฌํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.์ด๋Š” ์˜คํžˆ๋ ค ์„ฑ๋Šฅ ์ €ํ•˜๋กœ ์ด์–ด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. #### ๐Ÿ’ก ๋ชจ๋“  ์นผ๋Ÿผ์— Index๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ข‹๋‚˜์š”? ์ธ๋ฑ์Šค๋Š” ์ธ๋ฑ์Šค๋กœ ์„ค์ •๋œ ์นผ๋Ÿผ์„ ์ถ”๊ฐ€ ์ €์žฅ ๊ณต๊ฐ„์— ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ๋ชจ๋“  ์นผ๋Ÿผ์— ์ธ๋ฑ์Šค๋ฅผ ๋„ฃ๊ฒŒ ๋˜๋ฉด ์ €์žฅ ๊ณต๊ฐ„์„ ๋งŽ์ด ์ฐจ์ง€ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ, ์‚ฝ์ž…, ์‚ญ์ œ, ๊ฐฑ์‹ ์ด ๋ฐœ์ƒํ•˜๊ฒŒ ๋˜๋ฉด ์ธ๋ฑ์Šค ํ…Œ์ด๋ธ”์„ ์žฌ์ •๋ ฌํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.์ด๋Š” ์˜คํžˆ๋ ค ์„ฑ๋Šฅ ์ €ํ•˜๋กœ ์ด์–ด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.