type
status
date
slug
summary
tags
category
icon
password
์ ์
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ฒ์ ์๋๋ฅผ ํฅ์์ํค๊ธฐ ์ํ ์๋ฃ๊ตฌ์กฐ
ย
๋จ๊ฑด ์กฐํ๋ก ์๋์ ์ฟผ๋ฆฌ๋ฌธ์ ์์ฑํ๋ค๊ณ ํด๋ณด์
id | name | address | category |
1 | Restaurant A | Address A | Category A |
2 | Restaurant B | Address B | Category B |
3 | Restaurant C | Address C | Category C |
4 | Restaurant D | Address D | Category D |
5 | Restaurant E | Address E | Category E |
6 | Restaurant F | Address F | Category F |
7 | Restaurant G | Address G | Category G |
8 | Restaurant H | Address H | Category H |
9 | Restaurant I | Address I | Category I |
10 | Restaurant J | Address J | Category J |
ํด๋น๋๋ ์ฟผ๋ฆฌ๊ฐ N ๋ฒ์งธ ์กด์ฌํ๊ฒ ๋๋ค๋ฉด ์ฑ๋ฅ์ ํ๊ฐ ๋ฐ์ํ ์ ์๋ค.
ย
Hash Table - INNODB ์์ง์๋ ์์
key-value ๋ฅผ ํ ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๊ตฌ์กฐ
ย
๋ถ๊ฐ์ ์ธ ์ ๋ณด ์์ฑํ๊ฒ ์.
ย
ย
B-tree
- ํ๋์ ๋ ธ๋์ ์ฌ๋ฌ ์ ๋ณด ์ ์ฅ ๊ฐ๋ฅ
- ๋๊ฐ ์ด์์ ์์์ ๊ฐ์ง ์ ์์
- leaf ๋ ธ๋์๋ง ๋ฐ์ดํฐ ์ ์ฅ, ๋๋จธ์ง ๋ ธ๋๋ ์์ํฌ์ธํฐ๋ง ์ ์ฅ
- ์ฐ๊ธฐ ๋๋ฆผ(์ฝ์ , ์์ ), ๊ฒ์ ๋น ๋ฆ
ย
ย
ย
์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ๋ฉด ์ด๋ ๊ฒ ๋นจ๋ผ์ง

ย
์ข ๋ฅ
Clustered index
์ค์ ๋ฐ์ดํฐ์ ๊ตฐ์ง(๊ฐํ ์ฐ๊ด์ ์ด๋ฃจ๋ ์ธ๋ฑ์ค)๋ฐ์ดํฐ๊ฐ ํ ์ด๋ธ์ ๋ฌผ๋ฆฌ์ ์ผ๋ก ์ ์ฅ๋๋ ์์๋ฅผ ์ ์
PK๋ก ์ค์ ํ๋ฉด ์๋์ผ๋ก ์์ฑ
๋๋ Unique and Not null ์ ์ฝ ์กฐ๊ฑด์ ์์ฑํจ
ย
ํน์ง
- ํด๋น ํค ๊ฐ์ ๊ธฐ๋ฐ์ผ๋ก ํ ์ด๋ธ์ด๋ ๋ทฐ์ ๋ฐ์ดํฐ ํ์ ์ ๋ ฌํ๊ณ ์ ์ฅํจ
- Index์ ๋ฆฌํ ํ์ด์ง๊ฐ ์ค์ ๋ฐ์ดํฐ
- ํ ์ด๋ธ ๋น 1๊ฐ๋ง ์กด์ฌ



ย
Non-clustered Index
Index ์์ฑ SQL โ CREATE INDEX name_idx ON restaurant(name) ๋๋ Unique ์ ์ฝ ์กฐ๊ฑด์ ์์ฑ


ย
ํน์ง
- ์ธ๋ฑ์ค์ ๋ฐ์ดํฐ ํ์ด์ง๊ฐ ๋ฐ๋ก ์กด์ฌ
- ๋ฆฌํํ์ด์ง์์๋ ๋ฐ์ดํฐ์ฃผ์๋ฅผ ๊ฐ์ง
- ๋ฐ์ดํฐํ์ด์ง๊ฐ ์ ๋ ฌ๋์ง ์์๋ ๋จ
- ํ ํ ์ด๋ธ์ ์ฌ๋ฌ๊ฐ๊ฐ ์กด์ฌํ ์ ์์
- ๋ฐ์ดํฐ ๋ณ๊ฒฝ์์ (์ฝ์ , ์ญ์ , ์์ )์ ์ค๋ฒํค๋๊ฐ ๋ฐ์ํ ์ ์์
ย
Clustered, Non-clustered ๋์์ ์กด์ฌํ๋ฉด?
PK ์นผ๋ผ์ ์ค์ ํ์ฌ ํ
์ด๋ธ์ ์์ฑํ ๋ค(clustered index),
์์ฃผ ๋ฐ์ํ๋ ์กฐํ column์ ๋ํด index๋ฅผ ์ถ๊ฐํ๋ค๋ฉด(Non-clustered index)
์ด๋ป๊ฒ ๋์ํ ๊น?
ย

์ด๋ค ๊ฒฝ์ฐ์ ์ฐ๋ฉด ์ข์๊น?
ํด๋ฌ์คํฐ ์ธ๋ฑ์ค
- ํค ๊ฐ์ ๋ฒ์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ๊ฒ์์ด๋ ์ ๋ ฌ๋ ๋ฐ์ดํฐ๊ฐ ํ์ํ ๊ฒฝ์ฐ
ย
๋
ผ ํด๋ฌ์คํฐ ์ธ๋ฑ์ค
- ์ฌ๋ฌ ๊ฐ์ ์นผ๋ผ์ ์์ฃผ ๊ฒ์ํ๋ ๊ฒฝ์ฐ
ย
์ด๋ป๊ฒ ์ธ๋ฑ์ค๋ฅผ ์ฐ๋ฉด ์ข์๊น?
- where, join ์กฐ๊ฑด์ ์์ฃผ ๋ฐ์ํ๋ ์นผ๋ผ๋ค
- INSERT, UPDATE, DELETE ์ ๊ฒ ๋ฐ์ํ๋ ์นผ๋ผ
- ์ค๋ณต๋๊ฐ ๋ฎ์ ์นผ๋ผ
- ๋ฒ์ ๊ฒ์์ด ์ ์ ์นผ๋ผ
- ๋ฐ์ดํฐ๊ฐ ๋ง์ ํ ์ด๋ธ
ย
ย
๋ ์๋ฉด ์ข์ ๊ฒ๋ค
- covering index
- cardinality
- ๋ค์ํ index scan ๋ฐฉ์
- page/block ๋ฐ ๋ฒํผ
- ๋ฉ๋ชจ๋ฆฌ, ๋์คํฌ I/O ์ ๊ทผ ๋ฐฉ์
- B-tree
ย
