[Index] ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ธ๋ฑ์Šค ํŒŒํ—ค์น˜๊ธฐ

1. ์ธ๋ฑ์Šค๋ž€?

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

๋งŒ์•ฝ ์šฐ๋ฆฌ๊ฐ€ ์ฑ…์—์„œ ์›ํ•˜๋Š” ๋‚ด์šฉ์„ ์ฐพ๋Š”๋‹ค๊ณ  ํ•˜๋ฉด, ์ฑ…์˜ ๋ชจ๋“  ํŽ˜์ด์ง€๋ฅผ ์ฐพ์•„ ๋ณด๋Š”๊ฒƒ์€ ์˜ค๋žœ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฐ๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ์ฑ…์˜ ์ €์ž๋“ค์€ ์ฑ…์˜ ๋งจ ์•ž ๋˜๋Š” ๋งจ ๋’ค์— ์ƒ‰์ธ์„ ์ถ”๊ฐ€ํ•˜๋Š”๋ฐ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ index๋Š” ์ฑ…์˜ ์ƒ‰์ธ๊ณผ ๊ฐ™๋‹ค.

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

 

์žฅ์  

1. ๊ฒ€์ƒ‰ ๋Œ€์ƒ ๋ ˆ์ฝ”๋“œ์˜ ๋ฒ”์œ„๋ฅผ ์ค„์—ฌ ๊ฒ€์ƒ‰ ์†๋„๋ฅผ ๋น ๋ฅด๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋‹ค.

2. ์ค‘๋ณต ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐฉ์ง€ํ•˜๊ฑฐ๋‚˜ ํŠน์ • ์ปฌ๋Ÿผ์˜ ์œ ์ผ์„ฑ(Unique)์„ ๋ณด์žฅํ•  ์ˆ˜ ์žˆ๋‹ค.

3. ORDER BY ์ ˆ๊ณผ GROUP BY ์ ˆ, WHERE ์ ˆ ๋“ฑ์ด ์‚ฌ์šฉ๋˜๋Š” ์ž‘์—…์ด ๋”์šฑ ํšจ์œจ์ ์œผ๋กœ ์ฒ˜๋ฆฌ๋œ๋‹ค.

 

๋‹จ์ 

1. ์ธ๋ฑ์Šค ์ƒ์„ฑ์— ๋”ฐ๋ฅธ ์ถ”๊ฐ€์ ์ธ ์ €์žฅ ๊ณต๊ฐ„์ด ํ•„์š”ํ•˜๋‹ค. (์ธ๋ฑ์Šค ์‚ฌ์šฉ ์‹œ ํ•ด๋‹น ์ •๋ณด๋ฅผ ๋‹ด์€ MYI ํŒŒ์ผ ์ƒ์„ฑ)

2. CREATE(์‚ฝ์ž…), DELETE(์‚ญ์ œ), UPDATE(์ˆ˜์ •) ์ž‘์—… ์‹œ์—๋„ ์ธ๋ฑ์Šค๋ฅผ ์—…๋ฐ์ดํŠธํ•ด์•ผ ํ•˜๋ฏ€๋กœ ์„ฑ๋Šฅ ์ €ํ•˜๊ฐ€  ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค.

3. ํ•œ ํŽ˜์ด์ง€๋ฅผ ๋™์‹œ์— ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋Š” ๋ณ‘ํ–‰์„ฑ์ด ์ค„์–ด๋“ ๋‹ค.

4. ์ธ๋ฑ์Šค ์ƒ์„ฑ ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆด ์ˆ˜ ์žˆ๋‹ค. 

 

 

์ธ๋ฑ์Šค๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ๊ฒ€์ƒ‰ ๋ฐ ์ฒ˜๋ฆฌํ•˜๋Š” ์†๋„๋ฅผ ํ–ฅ์ƒ์‹œํ‚ค๋Š” ๋ฐ ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•œ๋‹ค.

ํ•˜์ง€๋งŒ, ์ธ๋ฑ์Šค๋ฅผ ์ ์ ˆํ•˜๊ฒŒ ํ™œ์šฉํ•˜์ง€ ์•Š์œผ๋ฉด ์˜คํžˆ๋ ค ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์„ฑ๋Šฅ์ด ์ €ํ•˜๋˜๊ฑฐ๋‚˜ ์ €์žฅ ๊ณต๊ฐ„์ด ๋‚ญ๋น„๋  ์ˆ˜ ์žˆ๋‹ค.

 

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

 

 

 

2. ์ธ๋ฑ์Šค์˜ ์ž๋ฃŒ๊ตฌ์กฐ

์ธ๋ฑ์Šค๋ฅผ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋‹ค์–‘ํ•œ ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, ๊ฐ€์žฅ ๋Œ€ํ‘œ์ ์ธ ํ•ด์‹œ ํ…Œ์ด๋ธ”๊ณผ B+Tree์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž. 

 

- ํ•ด์‹œ ํ…Œ์ด๋ธ”(Hash Table)

ํ•ด์‹œ ํ…Œ์ด๋ธ”์€ (Key, Value)๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ ์ค‘ ํ•˜๋‚˜๋กœ ๋น ๋ฅธ ๋ฐ์ดํ„ฐ ๊ฒ€์ƒ‰์ด ํ•„์š”ํ•  ๋•Œ ์œ ์šฉํ•˜๋‹ค. ํ•ด์‹œ ํ…Œ์ด๋ธ”์€ Key๊ฐ’์„ ์ด์šฉํ•ด ๊ณ ์œ ํ•œ index๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ๊ทธ index์— ์ €์žฅ๋œ ๊ฐ’์„ ๊บผ๋‚ด์˜ค๋Š” ๊ตฌ์กฐ์ด๋‹ค.

 

ํ•ด์‹œ ํ…Œ์ด๋ธ” ๊ธฐ๋ฐ˜์˜ DB ์ธ๋ฑ์Šค๋Š” (๋ฐ์ดํ„ฐ=์ปฌ๋Ÿผ์˜ ๊ฐ’, ๋ฐ์ดํ„ฐ์˜ ์œ„์น˜)๋ฅผ (Key, Value)๋กœ ์‚ฌ์šฉํ•˜์—ฌ ์ปฌ๋Ÿผ์˜ ๊ฐ’์œผ๋กœ ์ƒ์„ฑ๋œ ํ•ด์‹œ๋ฅผ ํ†ตํ•ด ์ธ๋ฑ์Šค๋ฅผ ๊ตฌํ˜„ํ•˜์˜€๋‹ค. ํ•ด์‹œ ํ…Œ์ด๋ธ”์˜ ์‹œ๊ฐ„๋ณต์žก๋„๋Š” O(1)์ด๋ฉฐ ๋งค์šฐ ๋น ๋ฅธ ๊ฒ€์ƒ‰์„ ์ง€์›ํ•œ๋‹ค.

ํ•˜์ง€๋งŒ DB ์ธ๋ฑ์Šค์—์„œ ํ•ด์‹œ ํ…Œ์ด๋ธ”์ด ์‚ฌ์šฉ๋˜๋Š” ๊ฒฝ์šฐ๋Š” ์ œํ•œ์ ์ธ๋ฐ, ๊ทธ๋Ÿฌํ•œ ์ด์œ ๋Š” ํ•ด์‹œ๊ฐ€ ๋“ฑํ˜ธ(=) ์—ฐ์‚ฐ์—๋งŒ ํŠนํ™”๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ํ•ด์‹œ ํ•จ์ˆ˜๋Š” ๊ฐ’์ด 1์ด๋ผ๋„ ๋‹ฌ๋ผ์ง€๋ฉด ์™„์ „ํžˆ ๋‹ค๋ฅธ ํ•ด์‹œ ๊ฐ’์„ ์ƒ์„ฑํ•˜๋Š”๋ฐ, ์ด๋Ÿฌํ•œ ํŠน์„ฑ์— ์˜ํ•ด ๋ถ€๋“ฑํ˜ธ ์—ฐ์‚ฐ(>, <)์ด ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ฒ€์ƒ‰์„ ์œ„ํ•ด์„œ๋Š” ํ•ด์‹œ ํ…Œ์ด๋ธ”์ด ์ ํ•ฉํ•˜์ง€ ์•Š๋‹ค.

 

- B+ Tree

B+Tree๋Š” DB์˜ ์ธ๋ฑ์Šค๋ฅผ ์œ„ํ•ด ์ž์‹ ๋…ธ๋“œ๊ฐ€ 2๊ฐœ ์ด์ƒ์ธ B-Tree๋ฅผ ๊ฐœ์„ ์‹œํ‚จ ์ž๋ฃŒ๊ตฌ์กฐ์ด๋‹ค.

๊ฐ€์žฅ ํ•˜๋‹จ์˜ leaf node๋ฅผ ๋ณด๋ฉด ๊ฐ™์€ ๋ ˆ๋ฒจ์˜ ๋…ธ๋“œ๋“ค๋ผ๋ฆฌ ์„œ๋กœ linked list ํ˜•์‹์œผ๋กœ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋‹ค. ์‹œํ€€์…œ ์•ก์„ธ์Šค๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด key : value์˜ ํŽ˜์ด์ง€๋Š” leaf node์—๋งŒ ์กด์žฌํ•˜๊ณ , ๊ทธ ์™ธ ๋ ˆ๋ฒจ์˜ node๋“ค์€ ์˜ค์ง ์ธ๋ฑ์‹ฑ์„ ์œ„ํ•œ key๋ฅผ ์ €์žฅํ•˜๋Š” ์šฉ๋„๋กœ๋งŒ ์‚ฌ์šฉ๋œ๋‹ค.

 

 

 

ํŠน์ง•

  • ๋ฆฌํ”„๋…ธ๋“œ(๋ฐ์ดํ„ฐ๋…ธ๋“œ)๋งŒ ์ธ๋ฑ์Šค์™€ ํ•จ๊ป˜ ๋ฐ์ดํ„ฐ(Value)๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๊ณ , ๋‚˜๋จธ์ง€ ๋…ธ๋“œ(์ธ๋ฑ์Šค๋…ธ๋“œ)๋“ค์€ ๋ฐ์ดํ„ฐ๋ฅผ ์œ„ํ•œ ์ธ๋ฑ์Šค(Key)๋งŒ์„ ๊ฐ–๋Š”๋‹ค. 
  • ๋ฆฌํ”„๋…ธ๋“œ๋“ค์€ LinkedList๋กœ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋‹ค. 
  • ๋ฐ์ดํ„ฐ ๋…ธ๋“œ ํฌ๊ธฐ๋Š” ์ธ๋ฑ์Šค ๋…ธ๋“œ์˜ ํฌ๊ธฐ์™€ ๊ฐ™์ง€ ์•Š์•„๋„ ๋œ๋‹ค.

 

3. ํด๋Ÿฌ์Šคํ„ฐ๋ง ์ธ๋ฑ์Šค vs ๋…ผ-ํด๋Ÿฌ์Šคํ„ฐ๋ง ์ธ๋ฑ์Šค

ํด๋Ÿฌ์Šคํ„ฐ๋ง ์ธ๋ฑ์Šค์™€ ๋…ผ-ํด๋Ÿฌ์Šคํ„ฐ๋ง ์ธ๋ฑ์Šค๋Š” ์•„๋ž˜ ์‚ฌ์ง„๊ณผ ๊ฐ™์ด ์˜ˆ์‹œ๋ฅผ ๋“ค ์ˆ˜ ์žˆ๋‹ค. 

 

์šฐ๋ฆฌ๋Š” ๋”ฐ๋กœ ์ธ๋ฑ์Šค๋ฅผ ๊ฑธ์ง€ ์•Š์•„๋„ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ index๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์—ˆ๋‹ค. 

CREATE TABLE member (
    id		int		--> primary key
    name	varchar(255),
    email	varchar(255)	--> unique
);

 

์œ„์™€ ๊ฐ™์€ ํ…Œ์ด๋ธ”์ด ์žˆ์„ ๋•Œ ์ธ๋ฑ์Šค๋Š” ๋ช‡ ๊ฐœ ์ผ๊นŒ?? ์ด 2๊ฐœ์˜ ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค. primary key ๊ฐ€ ์ ์šฉ๋œ id๋Š” ํด๋Ÿฌ์Šคํ„ฐ๋ง ์ธ๋ฑ์Šค, unique key ๊ฐ€ ์ ์šฉ๋œ email ์€ ๋…ผ-ํด๋Ÿฌ์Šคํ„ฐ๋ง ์ธ๋ฑ์Šค๊ฐ€ ์ น์šฉ๋˜์–ด์žˆ๋‹ค. 

 

 

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

์œ„์—์„œ ๋งŒ๋“  table์— ์–ด๋– ํ•œ ์ œ์•ฝ์กฐ๊ฑด์„ ๊ฑธ์ง€ ์•Š๊ณ  ์ˆœ์ฐจ์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ๋Š”๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ณด์ž. 

๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ์€ ์ˆœ์„œ๋Œ€๋กœ ํ…Œ์ด๋ธ”์— ๋ฐ์ดํ„ฐ๊ฐ€ ์Œ“์ผ ๊ฒƒ์ด๋‹ค. 

 

์—ฌ๊ธฐ์„œ ํด๋Ÿฌ์Šคํ„ฐ๋ง ์ธ๋ฑ์Šค๋ฅผ ์ ์šฉํ•ด๋ณด์ž. ์•„๋ž˜ ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ• ๋ชจ๋‘ ํด๋Ÿฌ์Šคํ„ฐ๋ง ์ธ๋ฑ์Šค๋ฅผ ๊ฑธ ์ˆ˜ ์žˆ๋‹ค. 

ALTER TABLE member ADD CONSTRAINT pk_id PRIMARY KEY (id);

 

ALTER TABLE member MODIFY COLUMN id int NOT NULL;
ALTER TABLE member ADD CONSTRAINT nuq_id UNIQUE (id);

 

- ์ธ๋ฑ์Šค ์ ์šฉ ํ›„  

 

 

ํŠน์ง•

  • ์‹ค์ œ ๋ฐ์ดํ„ฐ ์ž์ฒด๊ฐ€ ์ •๋ ฌ
  • ํ…Œ์ด๋ธ”๋‹น 1๊ฐœ๋งŒ ์กด์žฌ ๊ฐ€๋Šฅ
  • ๋ฆฌํ”„ ํŽ˜์ด์ง€๊ฐ€ ๋ฐ์ดํ„ฐ ํŽ˜์ด์ง€
  • ์•„๋ž˜์˜ ์ œ์•ฝ์กฐ๊ฑด ์‹œ ์ž๋™ ์ƒ์„ฑ
    • primary key (์šฐ์„ ์ˆœ์œ„)
    • unique + not null

 

- ๋…ผ-ํด๋Ÿฌ์Šคํ„ฐ๋ง ์ธ๋ฑ์Šค

๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์ •๋ ฌ๋˜์–ด์žˆ์ง€ ์•Š์€ ๋ฐ์ดํ„ฐ์— name์œผ๋กœ ๋…ผ-ํด๋Ÿฌ์Šคํ„ฐ๋ง ์ธ๋ฑ์Šค๋ฅผ ๊ฑธ์–ด๋ณด์ž. 

์•„๋ž˜ ์„ธ ๊ฐ€์ง€ ๋ฐฉ๋ฒ• ๋ชจ๋‘ ํด๋Ÿฌ์Šคํ„ฐ๋ง ์ธ๋ฑ์Šค๋ฅผ ๊ฑธ ์ˆ˜ ์žˆ๋‹ค. 

ALTER TABLE member ADD CONSTRAINT unq_name UNIQUE (name);

CREATE UNIQUE INDEX unq_idx_name ON member (name);

CREATE INDEX idx_name ON member (name);

 

 

- ์ธ๋ฑ์Šค ์ ์šฉ ํ›„

 

 

ํŠน์ง•

  • ์‹ค์ œ ๋ฐ์ดํ„ฐ ํŽ˜์ด์ง€๋Š” ๊ทธ๋Œ€๋กœ ์กด์žฌ
  • ๋ณ„๋„์˜ ์ธ๋ฑ์Šค ํŽ˜์ด์ง€ ์ƒ์„ฑ => ์ถ”๊ฐ€ ๊ณต๊ฐ„ ํ•„์š”
  • ํ…Œ์ด๋ธ”๋‹น ์—ฌ๋Ÿฌ ๊ฐœ ์กด์žฌ
  • ๋ฆฌํ”„ ํŽ˜์ด์ง€์— ์‹ค์ œ ๋ฐ์ดํ„ฐ ํŽ˜์ด์ง€ ์ฃผ์†Œ๋ฅผ ๋‹ด๊ณ  ์žˆ์Œ
  • ์•„๋ž˜์˜ ์ œ์•ฝ์กฐ๊ฑด ์‹œ ์ž๋™ ์ƒ์„ฑ
    • uinique ์ œ์•ฝ ์กฐ๊ฑด ์ ์šฉ ์‹œ ์ž๋™ ์ƒ์„ฑ
    • ์ง์ ‘ index ์ƒ์„ฑ ์‹œ ๋…ผ-ํด๋Ÿฌ์Šคํ„ฐ๋ง ์ธ๋ฑ์Šค ์ƒ์„ฑ

 

4. ํด๋Ÿฌ์Šคํ„ฐ๋ง ์ธ๋ฑ์Šค์™€ ๋…ผ-ํด๋Ÿฌ์Šคํ„ฐ๋ง ์ธ๋ฑ์Šค๋ฅผ ํ•จ๊ป˜ ์ ์šฉ

ํด๋Ÿฌ์Šคํ„ฐ๋ง ์ธ๋ฑ์Šค์™€ ๋…ผ-ํด๋Ÿฌ์Šคํ„ฐ๋ง ์ธ๋ฑ์Šค๋ฅผ ํ•จ๊ป˜ ์ ์šฉํ•˜๋ฉด ์–ด๋–ป๊ฒŒ ๋ ๊นŒ??

 

id ์ปฌ๋Ÿผ์— ํด๋Ÿฌ์Šคํ„ฐ๋ง ์ธ๋ฑ์Šค + name ์ปฌ๋Ÿผ์— ๋…ผํด๋Ÿฌ์Šคํ„ฐ๋ง ์ธ๋ฑ์Šค ๋ฅผ ์ ์šฉํ•˜๊ณ  ํ…Œ์ด๋ธ” ๊ตฌ์กฐ๋ฅผ ์‚ดํŽด๋ณด์ž.  

 

 

 

๋งŒ์•ฝ name = '๋ผ๋ผ' ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•œ๋‹ค๋ฉด ๋…ผ-ํด๋Ÿฌ์Šคํ„ฐ๋ง ์ธ๋ฑ์Šค ํŽ˜์ด์ง€๋ฅผ ํƒ€๊ณ  ๋ผ๋ผ์˜ index ๊ฐ’์„ ์–ป๊ฒŒ ๋œ๋‹ค. ์ฐพ์€ index ๊ฐ’์œผ๋กœ ํด๋Ÿฌ์Šคํ„ฐ๋ง ์ธ๋ฑ์Šค ํŽ˜์ด์ง€๋ฅผ ์กฐํšŒํ•˜์—ฌ ์‹ค์ œ ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค. 

 

์ด์ „๊ณผ ๋‹ฌ๋ฆฌ ๋…ผ-ํด๋Ÿฌ์Šคํ„ฐ๋ง ์ธ๋ฑ์Šค์˜ ๋ฆฌํ”„ ํŽ˜์ด์ง€์—์„  ์‹ค์ œ ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋œ ์ฃผ์†Œ๋ฅผ ๊ฐ€๋ฅดํ‚ค์ง€ ์•Š๋Š”๋‹ค. 

 

์™œ ๊ทธ๋Ÿด๊นŒ??

 

์ด์œ ๋Š” ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ๊ฐ€ insert ๋  ๋•Œ ์ถ”๊ฐ€์ ์ธ ์ž‘์—…๋“ค์ด ๋งŽ์•„์ง€๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. 

๋งŒ์•ฝ "ํŒŒ๋ž‘" ์ด๋ผ๋Š” ์ด๋ฆ„์„ ๊ฐ€์ง„ ๋ฐ์ดํ„ฐ๊ฐ€ ์ƒˆ๋กœ ์ถ”๊ฐ€๋œ๋‹ค๋ฉด 1000๋ฒˆ์งธ ์ฃผ์†Œ๋ฅผ ๊ฐ€์ง„ ํŽ˜์ด์ง€์— ๋ฐ์ดํ„ฐ๊ฐ€ ๋“ค์–ด๊ฐ€๊ฒŒ ๋  ๊ฒƒ์ด๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ํŽ˜์ด์ง€ ๋ถ„ํ• ์ด ๋ฐœ์ƒํ•  ๊ฒƒ์ด๊ณ  name ์ปฌ๋Ÿผ์˜ ๋ฆฌํ”„ ํŽ˜์ด์ง€์˜ ์ฃผ์†Œ๋„ ๋ณ€๊ฒฝํ•ด์ค˜์•ผ ํ•œ๋‹ค. 

 

 

5. ์ธ๋ฑ์Šค ์ ์šฉ ๊ธฐ์ค€

์ธ๋ฑ์Šค๋ฅผ ์ ์šฉํ•˜๋Š” ๊ธฐ์ค€์— ๋Œ€ํ•ด ์‚ดํŽด๋ณด์ž. 

 

-์‚ฌ์šฉํ•˜๋ฉด ์ข‹์€ ๊ฒฝ์šฐ

  1. ์นด๋””๋„๋ฆฌํ‹ฐ๊ฐ€ ๋†’์€ (์ค‘๋ณต๋„๊ฐ€ ๋‚ฎ์€) ์ปฌ๋Ÿผ
  2. where, join, order by ์ ˆ์— ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ์ปฌ๋Ÿผ
  3. insert, update, delete ๊ฐ€ ์ž์ฃผ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š” ์ปฌ๋Ÿผ
  4. ๊ทœ๋ชจ๊ฐ€ ์ž‘์ง€ ์•Š์€ ํ…Œ์ด๋ธ”

 

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

์ค‘๋ณต๋„๊ฐ€ ‘๋‚ฎ์œผ๋ฉด’ ์นด๋””๋„๋ฆฌํ‹ฐ๊ฐ€ ‘๋†’๋‹ค’๊ณ  ํ‘œํ˜„ํ•œ๋‹ค.

์ค‘๋ณต๋„๊ฐ€ ‘๋†’์œผ๋ฉด’ ์นด๋””๋„๋ฆฌํ‹ฐ๊ฐ€ ‘๋‚ฎ๋‹ค’๊ณ  ํ‘œํ˜„ํ•œ๋‹ค.

์นด๋””๋„๋ฆฌํ‹ฐ๋Š” ์ „์ฒด ํ–‰์— ๋Œ€ํ•œ ํŠน์ • ์ปฌ๋Ÿผ์˜ ์ค‘๋ณต ์ˆ˜์น˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ง€ํ‘œ์ด๋‹ค.

 

์•„๋ž˜ ํ…Œ์ด๋ธ”์˜ ๊ฐ ์นด๋””๋„๋ฆฌํ‹ฐ๋ฅผ ์‚ดํŽด๋ณด๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

 

์—ฌ๊ธฐ์„œ๋Š” ID, ์ด๋ฆ„, ์ด๋ฉ”์ผ ๋“ฑ์ด ์ข‹์€ ์ธ๋ฑ์Šค๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค. 

 

 

6. ์ธ๋ฑ์Šค ์„ฑ๋Šฅ ๋น„๊ต

 

 

Index๋ฅผ ํ™œ์šฉํ•œ ์„ฑ๋Šฅ ๊ฐœ์„  ํ…Œ์ŠคํŠธ๋Š” ๋‹ค์Œ์— ๊นŠ๊ฒŒ ๋‹ค๋ค„๋ณผ ์ƒ๊ฐ์ด๋‹ค. 

 

 

์ฐธ๊ณ 

https://www.youtube.com/watch?v=edpYzFgHbqs

https://ittrue.tistory.com/331