CS

SQL - ์ธ๋ฑ์Šค(Index)

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

 

* ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ index๋Š” ์ฑ…์˜ ์ƒ‰์ธ๊ณผ ๊ฐ™๋‹ค

 

์ฃผ์˜!

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

 

์ธ๋ฑ์Šค์˜ ์žฅ์ ๊ณผ ๋‹จ์ 

์žฅ์ 

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

๋‹จ์ 

  • ์ธ๋ฑ์Šค๋„ ๊ณต๊ฐ„์„ ์ฐจ์ง€ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์•ˆ์— ์ถ”๊ฐ€์ ์ธ ๊ณต๊ฐ„์ด ํ•„์š”ํ•˜๋‹ค.
  • SELECT๊ฐ€ ์•„๋‹Œ ๋ฐ์ดํ„ฐ์˜ ๋ณ€๊ฒฝ ์ž‘์—…(INSERT, UPDATE, DELETE)์ด ์ž์ฃผ ์ผ์–ด๋‚˜๋ฉด ์˜คํžˆ๋ ค ์„ฑ๋Šฅ์ด ๋‚˜๋น ์งˆ ์ˆ˜ ์žˆ๋‹ค.

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

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

ํŠน์ • ์—ด(Column) ๋˜๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์—ด๋“ค์„ ๊ธฐ์ค€์œผ๋กœ ๋ฐ์ดํ„ฐ๊ฐ€ ์ •๋ ฌ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ์ด๋‹ค.

ํ…Œ์ด๋ธ” ์ž์ฒด๋ฅผ ์ธ๋ฑ์Šค๋กœ ๋งŒ๋“œ๋Š” ํ˜•ํƒœ์ด๋ฏ€๋กœ ํ…Œ์ด๋ธ”๋‹น ํ•˜๋‚˜์˜ ํด๋Ÿฌ์Šคํ„ฐํ˜• ์ธ๋ฑ์Šค๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

๋ฐ์ดํ„ฐ๊ฐ€ ๋งŽ๊ณ , select๋ฌธ ์ˆ˜ํ–‰์ด ๋งŽ์€ ๊ฒฝ์šฐ์— ํšจ๊ณผ์ ์ด๋‹ค.

 

๋‹จ์–ด๊ฐ€ ์•ŒํŒŒ๋ฒณ ์ˆœ์„œ๋กœ ์ •๋ ฌ๋˜์–ด ์žˆ๋Š” ์˜์–ด ์‚ฌ์ „์ฒ˜๋Ÿผ ์–ด๋–ค ์—ด์„ ๊ธฐ๋ณธ ํ‚ค๋กœ ์ง€์ •ํ•˜๋ฉด ๊ทธ ์—ด์„ ๊ธฐ์ค€์œผ๋กœ ์ž๋™ ์ •๋ ฌ๋œ๋‹ค.

 

๐Ÿ“ข ๊ธฐ๋ณธ ํ‚ค๋Š” ์ž๋™์œผ๋กœ ํด๋Ÿฌ์Šคํ„ฐํ˜• ์ธ๋ฑ์Šค๊ฐ€ ์ƒ์„ฑ๋œ๋‹ค.

 

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

๋ฐ์ดํ„ฐ์™€ ์ธ๋ฑ์Šค๊ฐ€ ๊ฐ๊ฐ ๋‹ค๋ฅธ ์œ„์น˜์— ์ €์žฅ๋˜๋ฉฐ ํ…Œ์ด๋ธ”๋‹น ์—ฌ๋Ÿฌ ๊ฐœ ์ƒ์„ฑ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

CREATE INDEX์™€ ๊ฐ™์ด ์ธ๋ฑ์Šค๋ฅผ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜ UNIQUE ๋˜๋Š” UNIQUE NULL๋กœ ์ง€์ •ํ•œ ์—ด์— ๋ณด์กฐ ์ธ๋ฑ์Šค๊ฐ€ ์ƒ์„ฑ๋œ๋‹ค.

 

์ธ๋ฑ์Šค ๊ด€๋ฆฌ ๋ฐฉ์‹

B-Tree ์ž๋ฃŒ๊ตฌ์กฐ

 

B+Tree ์ž๋ฃŒ๊ตฌ์กฐ

 

HashTable ์ž๋ฃŒ๊ตฌ์กฐ

 

๋”๋ณด๊ธฐ

[์ฐธ๊ณ ]

https://co-no.tistory.com/entry/MSSQL-%EC%9D%B8%EB%8D%B1%EC%8A%A4-%ED%81%B4%EB%9F%AC%EC%8A%A4%ED%84%B0%ED%98%95-vs-%EB%B9%84%ED%81%B4%EB%9F%AC%EC%8A%A4%ED%84%B0%ED%98%95

 

[MSSQL] ์ธ๋ฑ์Šค - ํด๋Ÿฌ์Šคํ„ฐํ˜• vs ๋น„ํด๋Ÿฌ์Šคํ„ฐํ˜•

์ธ๋ฑ์Šค๋ž€? : ์ถ”๊ฐ€์ ์ธ ์“ฐ๊ธฐ ์ž‘์—…๊ณผ ์ €์žฅ ๊ณต๊ฐ„์„ ํ™œ์šฉํ•˜์—ฌ DB ํ…Œ์ด๋ธ”์˜ ๊ฒ€์ƒ‰ ์†๋„๋ฅผ ํ–ฅ์ƒ์‹œํ‚ค๊ธฐ ์œ„ํ•œ ์ž๋ฃŒ๊ตฌ์กฐ "์ฑ…์˜ ์•ž ๋ถ€๋ถ„์— ์žˆ๋Š” ๋ชฉ์ฐจ!" => ๋ชฉ์ฐจ๊ฐ€ ์—†๋‹ค๋ฉด, ์ฐพ์œผ๋ ค๊ณ  ํ•˜๋Š” ๋‚ด์šฉ์„ ๋งŒ๋‚  ๋•Œ๊นŒ์ง€

co-no.tistory.com

 

https://www.youtube.com/watch?app=desktop&v=KZmW6VaY5BU

 

https://github.com/gyoogle/tech-interview-for-developer/blob/master/Computer%20Science/Database/%5BDB%5D%20Index.md

 

tech-interview-for-developer/Computer Science/Database/[DB] Index.md at master · gyoogle/tech-interview-for-developer

๐Ÿ‘ถ๐Ÿป ์‹ ์ž… ๊ฐœ๋ฐœ์ž ์ „๊ณต ์ง€์‹ & ๊ธฐ์ˆ  ๋ฉด์ ‘ ๋ฐฑ๊ณผ์‚ฌ์ „ ๐Ÿ“–. Contribute to gyoogle/tech-interview-for-developer development by creating an account on GitHub.

github.com

 

https://jie0025.tistory.com/107

 

[MySQL] ์ธ๋ฑ์Šค(index), ํด๋Ÿฌ์Šคํ„ฐ/๋ณด์กฐ์ธ๋ฑ์Šค

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

jie0025.tistory.com

'CS' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

๊ต์ฐฉ์ƒํƒœ  (0) 2024.11.16
์จ๋“œ ํŒŒํ‹ฐ(3rd party)๋ž€?  (0) 2024.11.14
SQL - DB ํŠธ๋žœ์žญ์…˜(Transaction)  (2) 2024.11.13
SQL - ์ €์žฅ ํ”„๋กœ์‹œ์ €(Stored Procedure)  (2) 2024.11.12
B Tree & B+ Tree  (0) 2024.11.11