๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ

ํŒŒ์ผ์ฒ˜๋ฆฌ์‹œ์Šคํ…œ์˜ ๋ฌธ์ œ์ ์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋“ฑ์žฅ
๋‹ค์–‘ํ•œ ํ˜•ํƒœ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ชจ์•„๋†“์€ ๋ฐ์ดํ„ฐ์˜ ์ง‘ํ•ฉ์ฒด
๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค ๊ด€๋ฆฌ ์‹œ์Šคํ…œ

๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค์˜ ๋“ฑ์žฅ ๋ฐฐ๊ฒฝ
์ด์ „์—๋Š” ๊ตฌ์กฐํ™”๋˜์ง€ ์•Š์€ ํŒŒ์ผ์ฒ˜๋ฆฌ ์‹œ์Šคํ…œ์ด์—ˆ๋‹ค. 
ํ•˜์ง€๋งŒ ํŒŒ์ผ์ฒ˜๋ฆฌ์—๋Š” ๋‹ค์–‘ํ•œ ๋ฌธ์ œ์ ๋“ค์ด ์žˆ์–ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ์ด ๋“ฑ์žฅํ•˜๊ฒŒ ๋œ๋‹ค. 

 

 

 

 

*ํŒŒ์ผ ์ฒ˜๋ฆฌ ์‹œ์Šคํ…œ์˜ ๋ฌธ์ œ์ 

 

1) ์ค‘๋ณต : ํŒŒ์ผ์ฒ˜๋ฆฌ์‹œ์Šคํ…œ์€ ๊ฐ ํŒŒ์ผ๋งˆ๋‹ค ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ๊ฐ ๊ฐ€์ง€๊ณ  ์žˆ์–ด์•ผ ํ•˜๋ฏ€๋กœ ์ „์ฒด์ ์ธ ์‹œ๊ฐ„๊ณผ ๋…ธ๋ ฅ, ๊ฒฝ์ œ๋น„์šฉ์— ์žˆ์–ด์„œ ํšจ์œจ์ด ์—†๋‹ค.

 

2) ๋น„์ผ๊ด€์„ฑ : ๋ฐ์ดํ„ฐ์— ๋ณ€๊ฒฝ์‚ฌํ•ญ์ด ์กฐ๊ธˆ๋งŒ ์žˆ์–ด๋„ ๊ฐ ํŒŒ์ผ์—์„œ ํ•ด๋‹น๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋ชจ๋‘ ๋ณ€๊ฒฝํ•ด์•ผ ํ•˜๋ฏ€๋กœ ์ˆ˜์ •์— ๋ฌธ์ œ๊ฐ€ ์žˆ๊ณ , ํ•œ๊บผ๋ฒˆ์— ์ˆ˜์ •์ด ๋˜์ง€ ์•Š์œผ๋ฉด ๋ฐ์ดํ„ฐ๊ฐ’์ด ์„œ๋กœ ํ‹€๋ฆฌ๊ฒŒ ๋˜๋Š” ๋ฌธ์ œ์ ์ด ์žˆ๋‹ค.

 

3) ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ๊ฐœ๋ฐœ ๋ฌธ์ œ : ๊ธฐ์กด์˜ ํŒŒ์ผ ์‹œ์Šคํ…œ์€ ํŒŒ์ผ ์šฉ๋„์—๋งŒ ๋งž์ถฐ์„œ ์ œ์ž‘๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“ค๋•Œ๋Š” ๋‹ค์‹œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ž‘์—…์„ ํ•ด์•ผ ํ•œ๋‹ค๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค

 

4) ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€ ๋ฐ ๊ฒ€์ƒ‰์˜ ๋ฌธ์ œ : ๋ฐ์ดํ„ฐ๊ฐ€ ์—ฌ๋Ÿฌ ํŒŒ์ผ์— ์‚ฐ์žฌํ•˜๊ณ  ๋˜ ๊ทธ ํŒŒ์ผ๋งˆ๋‹ค ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์–‘์‹์ด ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ์ผ๋ฅ ์ ์ธ ๊ฒ€์ƒ‰์ด๋‚˜ ๋‹จ์ˆœ ์ถ”๊ฐ€ ์ž‘์—…์ด ์–ด๋ ต๋‹ค.

 

 

 

 

 


 

 

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ํŠน์ง•

1. ๋ฐ์ดํ„ฐ์˜ ๋…๋ฆฝ์„ฑ

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

 

2. ๋ฐ์ดํ„ฐ์˜ ๋ฌด๊ฒฐ์„ฑ 

  • ๋ฐ์ดํ„ฐ๋Š” ์—ฌ๋Ÿฌ ๊ฒฝ๋กœ๋ฅผ ํ†ตํ•ด์„œ ๋“ค์–ด์˜ค๋Š”๋ฐ, ๋ฐ์ดํ„ฐ์—์„œ ๋ฐœ์ƒํ•˜๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๋ฐฉ์ง€ํ•˜๋Š” ๊ธฐ๋Šฅ์œผ๋กœ ๋ฐ์ดํ„ฐ์˜ ์œ ํšจ์„ฑ์„ ๊ฒ€์‚ฌํ•ด์„œ ๋ฌด๊ฒฐ์„ฑ์„ ๊ตฌํ˜„ํ•œ๋‹ค.

 

3. ๋ฐ์ดํ„ฐ์˜ ๋ณด์•ˆ์„ฑ

  • ์ธ๊ฐ€๋œ ์‚ฌ์šฉ์ž๋“ค๋งŒ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋‚˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋‚ด์— ์ž์›์„ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ณ„์ • ๊ด€๋ฆฌ ๋˜๋Š” ์ ‘๊ทผ ๊ถŒํ•œ์„ ์„ค์ •

 

4. ๋ฐ์ดํ„ฐ์˜ ์ผ๊ด€์„ฑ

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

 

5. ๋ฐ์ดํ„ฐ์˜ ์ค‘๋ณต ์ตœ์†Œํ™”

  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ํ†ตํ•ฉํ•ด์„œ ๊ด€๋ฆฌํ•จ์œผ๋กœ์จ, ํŒŒ์ผ ์‹œ์Šคํ…œ์˜ ๋‹จ์  ์ค‘ ํ•˜๋‚˜์ธ ์ž๋ฃŒ์˜ ์ค‘๋ณต๊ณผ ๋ฐ์ดํ„ฐ์˜ ์ค‘๋ณต์„ฑ ๋ฌธ์ œ๋ฅผ ์ตœ์†Œํ™”ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์žฅ์ 

1. ๋ฐ์ดํ„ฐ ๊ณต์œ 

2. ๋ฐ์ดํ„ฐ ์ค‘๋ณต์˜ ์ตœ์†Œํ™”

3. ๊ณ„์†์  ๋ณ€ํ™”์— ๋Œ€ํ•œ ์ ์‘

4. ๋ณด์•ˆ์„ฑ

 

 

 

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์„ฑ๋Šฅ

๋””์Šคํฌ I/O๋ฅผ ์–ด๋–ป๊ฒŒ ์ค„์ด๋ƒ์— ๋”ฐ๋ผ ๋‹ฌ๋ ค์žˆ๋‹ค.

๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๋Š”๋ฐ ๋””์Šคํฌ ํ—ค๋”์˜ ์œ„์น˜ ์ด๋™์—†์ด ์–ผ๋งˆ๋‚˜ ๋งŽ์€ ๋ฐ์ดํ„ฐ๋ฅผ ํ•œ๋ฒˆ์ด ๊ธฐ๋กํ•˜๋Š๋ƒ์— ๋”ฐ๋ผ ๊ฒฐ์ •๋œ๋‹ค.

๋”ฐ๋ผ์„œ ์ˆœ์ฐจ์ ์œผ๋กœ I/O๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š”๊ฒŒ ๋žœ๋ค I/O๋ณด๋‹ค ๋น ๋ฅด๋‹ค.

 

 

 

์ฟผ๋ฆฌ ์ตœ์ ํ™”, ๋น ๋ฅธ ์ฟผ๋ฆฌ๋ฅผ ์œ„ํ•œ 7๊ฐ€์ง€ ์ฒดํฌ๋ฆฌ์ŠคํŠธ

1. SELECT ์‹œ์—๋Š” ๊ผญ ํ•„์š”ํ•œ ์นผ๋Ÿผ๋งŒ ๋ถˆ๋Ÿฌ์™€์•ผ ํ•œ๋‹ค.

  • ๋„ˆ๋ฌด ๋งŽ์€ ํ•„๋“œ๊ฐ’์„ ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜๋ก DB๋Š” ๋” ๋งŽ์€ ๋กœ๋“œ๋ฅผ ๋ถ€๋‹ดํ•˜๊ธฐ ๋•Œ๋ฌธ์—

 

2. ์กฐ๊ฑด ๋ถ€์—ฌ์‹œ, ๊ฐ€๊ธ‰์  ๊ธฐ์กด DB๊ฐ’์— ๋ณ„๋„์˜ ์—ฐ์‚ฐ์„ ๊ฑธ์ง€ ์•Š๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

  • ์กฐ๊ฑด ๊ฒ€์ƒ‰์ด ํ•„์š”ํ• ๋•Œ ๊ตณ์ด ๋ชจ๋“  ํ•„๋“œ ๊ฐ’์„ ํƒ์ƒ‰ํ•  ํ•„์š” ์—†๊ฒŒ ์ฟผ๋ฆฌ๋ฅผ ์งœ์ฃผ์ž

 

3. LIKE ์‚ฌ์šฉ์‹œ %(์™€์ผ๋“œ์นด๋“œ๋ฌธ์ž์—ด)๋ฅผ string ์•ž๋ถ€๋ถ„์— ๋ฐฐ์น˜ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

  • ์œ„์˜ 2๋ฒˆ๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ full table scan์„ ๋ง‰๊ฒŒ ๋‹ค๋ฅธ ํ˜•ํƒœ์˜ ์กฐ๊ฑด์ ˆ์„ ์‚ฌ์šฉํ•˜๋Š”๊ฒƒ์ด ํšจ๊ณผ์ ์ด๋‹ค.

 

4. SELECT DISTINCT, UNION DISTINCT์™€ ๊ฐ™์ด ์ค‘๋ณต ๊ฐ’์„ ์ œ๊ฑฐํ•˜๋Š” ์—ฐ์‚ฐ์€ ์ตœ๋Œ€ํ•œ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•„์•ผํ•œ๋‹ค.

  • ์ค‘๋ณต ๊ฐ’์„ ์ œ๊ฑฐํ•˜๋Š” ์—ฐ์‚ฐ์€ ์‹œ๊ฐ„์ด ๋งŽ์ด๊ฑธ๋ฆฌ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
  • ์ฐจ๋ผ๋ฆฌ EXISTS๋ฅผ ์‚ฌ์šฉํ•˜์ž.

 

5. ๊ฐ™์€ ๋‚ด์šฉ์˜ ์กฐ๊ฑด์ด๋ผ๋ฉด, GROUP BY ์—ฐ์‚ฐ ์‹œ์—๋Š” ๊ฐ€๊ธ‰์  HAVING๋ณด๋‹ค๋Š” WHERE ์ ˆ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

  • WHERE ์ ˆ์ด HAVING์ ˆ๋ณด๋‹ค ๋จผ์ € ์‹คํ–‰๋˜๊ธฐ ๋•Œ๋ฌธ์— WHERE๋กœ ๋ฏธ๋ฆฌ ๋ฐ์ดํ„ฐ ํฌ๊ธฐ๋ฅผ ์ค„์—ฌ ๋†“๋Š”๊ฒŒ ์ข‹๋‹ค.

 

6. 3๊ฐœ ์ด์ƒ์˜ ํ…Œ์ด๋ธ”์„ INNER JOIN ํ•  ๋•Œ๋Š”, ํฌ๊ธฐ๊ฐ€ ๊ฐ€์žฅ ํฐ ํ…Œ์ด๋ธ”์„ FROM ์ ˆ์— ๋ฐฐ์น˜ํ•˜๊ณ , INNER JOIN ์ ˆ์—๋Š” ๋‚จ์€ ํ…Œ์ด๋ธ”์„ ์ž‘์€ ์ˆœ์„œ๋Œ€๋กœ ๋ฐฐ์น˜ํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

  • INNER JOIN ๊ณผ์ •์—์„œ ์ตœ์†Œํ•œ์˜ Combination์„ ํƒ์ƒ‰ํ•˜๋„๋ก FROM & INNER JOIN์˜ ์ˆœ์„œ๋ฅผ ๋ฐฐ์—ดํ•˜๋ฉด ์ข‹๋‹ค๋Š” ์ด์•ผ๊ธฐ์ธ๋ฐ, ํ•ญ์ƒ ํ†ต์šฉ๋˜์ง€๋Š” ์•Š๋‹ค.

 

7. ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ์ดํ„ฐ์˜ ํ˜•์‹์— ๋Œ€ํ•ด์„œ๋Š” ๋ฏธ๋ฆฌ ์ „์ฒ˜๋ฆฌ๋œ ํ…Œ์ด๋ธ”์„ ๋”ฐ๋กœ ๋ณด๊ด€, ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ๋„ ์ข‹๋‹ค.

 

 

 

 


<์ฐธ๊ณ >

https://velog.io/@redgem92/%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4%EB%A5%BC-%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94-%EC%9D%B4%EC%9C%A0%EC%99%80-%ED%8A%B9%EC%A7%95 https://yang1650.tistory.com/28

https://medium.com/watcha/%EC%BF%BC%EB%A6%AC-%EC%B5%9C%EC%A0%81%ED%99%94-%EC%B2%AB%EA%B1%B8%EC%9D%8C-%EB%B3%B4%EB%8B%A4-%EB%B9%A0%EB%A5%B8-%EC%BF%BC%EB%A6%AC%EB%A5%BC-%EC%9C%84%ED%95%9C-7%EA%B0%80%EC%A7%80-%EC%B2%B4%ED%81%AC-%EB%A6%AC%EC%8A%A4%ED%8A%B8-bafec9d2c073

+ Recent posts