์ธ๋ฑ์ค๋?
์ธ๋ฑ์ค == ๋ชฉ์ฐจ, RDBMS์์ ๊ฒ์ ์๋๋ฅผ ๋์ด๊ธฐ ์ํ ๊ธฐ์
์ธ๋ฑ์ค๋ ๊ฒฐ๊ตญ ์ง์ ํ ์ปฌ๋ผ๋ค์ ๊ธฐ์ค์ผ๋ก ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ์ผ์ข ์ ๋ชฉ์ฐจ๋ฅผ ์์ฑํ๋ ๊ฒ์ด๋ค.
์ธ๋ฑ์ค๊ฐ ํ์ํ ์ด์
์ปดํจํฐ๋ ์์ฃผ ์ฌ์ฉ๋๋ ๋ฐ์ดํฐ(ํ ์ด๋ธ ๋ฑ)๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ฆฌ๋๋ฐ, ์ฌ์ฉ์๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ฐพ์ ๋ ๋ฉ๋ชจ๋ฆฌ์ ๋ฐ์ดํฐ๊ฐ ์๋ค๋ฉด ๋์คํฌ์์ ํ ์ด๋ธ ์ ์ฒด๋ฅผ ํ์ผ๋ฉด์ ์ฐพ์์ผ ํ๊ณ ์ด๋ฅผ Full Table Scan์ด๋ผ๊ณ ํ๋ค. ๋์ฉ๋ ๋ฐ์ดํฐ์์๋ ๊ต์ฅํ ๋นํจ์จ์ ์ด๋ค.
๊ทธ๋์ Full Table Scan์ ๋ฐฉ์งํ๊ธฐ ์ํด์ ๋ชฉ์ฐจ์ ๊ฐ์ ์ธ๋ฑ์ค๋ฅผ ๋ง๋ค์ด์ ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํ๋ค.
ํน์ง
- ์ธ๋ฑ์ค๋ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋๋ค.
- B-Tree ํํ๋ก ์ ์ฅ๋จ ์์ ๋ ธ๋๊ฐ 2๊ฐ ์ด์
- ๋์คํฌ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ Page(Block)์ ๊ฐ์ฅ ๊ธฐ๋ณธ๋จ์ ๋ก ์ผ๋๋ค. ๋์คํฌ ์ฝ๊ธฐ ์ฐ๊ธฐ ์์ ์ ์ต์๋จ์.
- ์ธ๋ฑ์ค๋ ํ์ด์ง ๋จ์๋ก ๊ด๋ฆฌ๋๋ฉฐ, ๊ทธ๋ฆผ์์ ๋ ธ๋๊ฐ ํ๋์ ํ์ด์ง๋ฅผ ์๋ฏธํ๋ค.
- ์ธ๋ฑ์ค๋ Range Scan(๋ฆฌํ ๋ธ๋ก์์ ์ค์บ ์์ ์ง์ ๋ถํฐ ์ค๊ฐ์ ์ฐพ๊ณ ์ ํ๋ ๋ ธ๋๋ฅผ ์ฐพ์ผ๋ฉด ํ์์ ๋ฉ์ถค)์ ํ๋๋ฐ ์ด๋ Full Table Scan๊ณผ ๋ฐ๋๋๋ ๊ฐ๋ ์ด๊ณ ๋ฉฐ ๋ ํจ์จ์ ์ด๊ฒ ๋๋ค.
- ์ฝ 10%์ ์ถ๊ฐ ์ ์ฅ ๊ณต๊ฐ ํ์
์ข ๋ฅ
Clustered
- ์) ์ฑ ์์ ๋ฐ๋ก ํ์ด์ง๋ฅผ ์๋ ๊ฒ
- ๊ตฐ์งํ : ์ธ๋ฑ์ค์ ๋ฐ์ดํฐ๊ฐ ์ฐ๊ฒฐ๋ ํํ
- ์ ๋ ฌ๋์ด ์ ์ฅ๋๋ค.
- ํ ํ ์ด๋ธ์ ํ๋๋ง ์กด์ฌํ ์ ์๋ค.(์ค๋ณต ๋ถ๊ฐ)
- ํ
์ด๋ธ์ PK์ ๋ํด์๋ง ์ ์ฉ๋๋ค.(PK๋ ํด๋ฌ์คํฐ๋ ์ธ๋ฑ์ค์ ๊ธฐ์ค)
- PK์ ์ํด ๋ ์ฝ๋ ์ ์ฅ ์์น๊ฐ ๊ฒฐ์ ๋๋ฉฐ PK๊ฐ์ด ๋ณ๊ฒฝ๋๋ฉด ๋ฌผ๋ฆฌ์ ์ธ ์ ์ฅ์์น๊ฐ ๋ฐ๋๊ณ ๋๋ค ์ก์ธ์ค๊ฐ ๋ง์ด ๋ฐ์ํ๋ฉฐ IO์ฆ๊ฐํ๊ธฐ ๋๋ฌธ์ PK๋ฅผ ์ ์คํ๊ฒ ๊ฒฐ์ ํด์ผ ํ๋ค.
- ๋ฒ์๊ฒ์์ ๊ฐ๋ ฅ O(1)
- ๋
ผํด๋ฌ์คํฐ๋ ์ธ๋ฑ์ค๋ณด๋ค ๋น ๋ฅด๋ค.
- Clustered index๋ leaf node์ row data๋ฅผ ๊ฐ๊ณ ์๊ธฐ ๋๋ฌธ์ Non-clustered index(secondary index)๋ณด๋ค access๊ฐ ๋น ๋ฆ
- ์ค๊ฐ์ฝ์ ํ๋ ๊ฒฝ์ฐ์ ์ฑ๋ฅ์ ์ ์ํฅ
Non Clustered
- ์) ์ฑ ์์ ๋ชฉ์ฐจ๋ฅผ ๋ณด๋ ๊ฒ
- ๋น๊ตฐ์งํ : ๋ฐ์ดํฐ์ ์ฐ๊ฒฐ๋์ด์๋ ๊ฒ์ด ์๋๋ผ ๋ค๋ฅธ ์ธ๋ฑ์ค์ ๊ฐ์ ์ ์ผ๋ก ์ฐ๊ฒฐ๋์ด ์์.
- Non Clustered index์ leaf node์๋ row data์ ์ ๊ทผํ ์ ์๋ primary key๊ฐ ์ ์ฅ๋๋ฏ๋ก ๋๋ฒ์ access๊ฐ ํ์
- primary key๋ฅผ ์ฐพ๊ธฐ ์ํ access -> clustered index(๋๊ฒ pk)๋ฅผ ์ด์ฉํ์ฌ row data๋ฅผ ์ฐพ๊ธฐ ์ํ access
- ์ ๋ ฌ๋์ด์์ง ์์์ ๋ฐ์ดํฐ์ ์์๋ ์๊ด์ด ์์
- ๋ฐ์ดํฐ์๋ ๊ด๋ จ ์์
- ํ ํ ์ด๋ธ์ ์ฌ๋ฌ๊ฐ ๊ฐ๋ฅ
์ธ๋ฑ์ค ํ์ฉ
๊ตฌ๋ถ | ๋ด์ฉ |
SELECT | from, where ์ ์ด ์์ ๋ ์ฑ๋ฅ ํฅ์ |
INSERT | ์คํ๋ ค ์ฑ๋ฅ์ ์ ํ์ํฌ ์ ์์. ์ธ๋ฑ์ค๋ ์ ๋ ฌ์ด ๋ ์ํ๋ก ์ ์ฅ์ด ๋์ด์ผ ํ๊ณ , ์ธ๋ฑ์ค๋ ํ ์ด๋ธ๊ณผ ๋ณ๋์ ๊ฐ์ฒด๋ผ์ ๋ฐ์ดํฐ๋ฅผ ํ ์ด๋ธ๊ณผ ์ธ๋ฑ์ค์ ๊ฐ๊ฐ ์ฝ์ ์ ํด์ผํ๊ธฐ ๋๋ฌธ์ ๋ญ๋น๊ฐ ์์ ์ ์๋ค. |
UPDATE | ์คํ๋ ค ์ฑ๋ฅ์ ์ ํ์ํฌ ์ ์์. ์ธ๋ฑ์ค์๋ ์ ๋ฐ์ดํธ๋ผ๋ ๊ฐ๋ ์ด ์์ด์ ํ ์ด๋ธ์ ์ ๋ฐ์ดํธ๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ DELETE ํ INSERT๋ฅผ ์์ ํ๊ธฐ ๋๋ฌธ์ ๋ถํ๊ฐ ํฌ๋ค. |
DELETE | ์คํ๋ ค ์ฑ๋ฅ์ ์ ํ์ํฌ ์ ์์. ์ค์ ๋ก ๋ฐ์ดํฐ๋ฅผ ์ง์ฐ๋ ๊ฒ์ด ์๋๋ผ ์ธ๋ฑ์ค ์์ '์ฌ์ฉ์ํจ'์ด๋ผ๋ ํ์๋ฅผ ํด์ฃผ๊ธฐ ๋๋ฌธ์ ๊ณต๊ฐ๋ญ๋น๊ฐ ์๋ค. |
insert, update, delete (Command)์ ์ฑ๋ฅ์ ํฌ์ํ๊ณ ๋์ select (Query)์ ์ฑ๋ฅ์ ํฅ์์ํจ๋ค.
์ฌ๊ธฐ์ ์ฃผ์ํ ์ ์ update, delete ํ์๊ฐ ๋๋ฆฐ๊ฒ์ด์ง, update, delete๋ฅผ ํ๊ธฐ ์ํด ํด๋น ๋ฐ์ดํฐ๋ฅผ ์กฐํํ๋๊ฒ์ ์ธ๋ฑ์ค๊ฐ ์์ผ๋ฉด ๋น ๋ฅด๊ฒ ์กฐํ๊ฐ ๋๋ค.
์ธ๋ฑ์ค๊ฐ ์๋ ์ปฌ๋ผ์ ์กฐ๊ฑด์ผ๋ก update, delete๋ฅผ ํ๊ฒ ๋๋ฉด ๊ต์ฅํ ๋๋ ค ๋ง์ ์์ ๋ฐ์ดํฐ๋ฅผ ์ญ์ ํด์ผํ๋ ์ํฉ์์ ์ธ๋ฑ์ค๋ก ์ง์ ๋ ์ปฌ๋ผ์ ๊ธฐ์ค์ผ๋ก ์งํํ๋๊ฒ์ ์ถ์ฒ
๋ฐ๋ผ์, ์ํฉ์ ๋ฐ๋ผ ์๋์ ์ธ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ๋ฌด์กฐ๊ฑด ์ธ๋ฑ์ค๋ฅผ ์ด๋ค๊ณ ํจ์จ์ ์ธ ๊ฒ์ ์๋๋ค.
์ ๋ฆฌ
์ฌ์ฉํ๋ฉด ์ข์ ๊ฒฝ์ฐ
- Where ์ ์์ ์์ฃผ ์ฌ์ฉ๋๋ Column
- ์ธ๋ํค๊ฐ ์ฌ์ฉ๋๋ Column
- Join์ ์์ฃผ ์ฌ์ฉ๋๋ Column
Index ์ฌ์ฉ์ ํผํด์ผ ํ๋ ๊ฒฝ์ฐ
- Data ์ค๋ณต๋๊ฐ ๋์ Column
- DML์ด ์์ฃผ ์ผ์ด๋๋ Column
์ธ๋ฑ์ค Column ์ค์ ๊ธฐ์ค
Cardinality(๊ธฐ์์ฑ)๊ฐ ๋์ ๊ฒ
๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฅํ ๊ธฐ์ค์ ์ ํํ ๋ '์นด๋๋๋ฆฌํฐ'๋ผ๋ ๊ฐ๋ ์ด ๋ฑ์ฅํ๋ค. ์นด๋๋๋ฆฌํฐ๋ ๊ธฐ์์ฑ ์ฆ, ์ด๋ ๊ทธ๋ฃน์ ์ํ๋ ์์์ ์๋ฅผ ์๋ฏธํ๋ฉฐ ์นด๋๋๋ฆฌํฐ๊ฐ ๋์ ๊ฒ์ด ๋ฐ๋ก ๊ธฐ์ค์ด ๋๋ค.
์ฑ๋ณ < ๋๋ค์ < ์ฃผ๋ฏผ๋ฒํธ
์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ์ผ๋ก ๊ฐ ์๋ก ์นด๋๋๋ฆฌํฐ๊ฐ ๋๋ค.
์ฃผ๋ฏผ๋ฒํธ๋ ๊ณ ์ ๊ฐ์ด๊ธฐ ๋๋ฌธ์ ์ฌ๋ ์ ๋งํผ ์กด์ฌํ๊ธฐ ๋๋ฌธ์ ์ด๋ค ๊ธฐ์ค๋ณด๋ค๋ ์นด๋๋๋ฆฌํฐ๊ฐ ๋๋ค๊ณ ํ ์ ์๋ค.
์ด๋ ๊ฒ ์นด๋๋๋ฆฌํฐ๊ฐ ๋์ ๊ฐ์ ์ธ๋ฑ์ค ์ปฌ๋ผ ๊ธฐ์ค์ผ๋ก ์ผ์์ผ ์ํ๋ ๊ฐ์ ์ฝ๊ฒ ๊ฑธ๋ฌ๋ผ ์ ์๋ค.
์ธ๋ฑ์ค ๊ตฌ์กฐ
MySQL์ BTREE(B-Tree ๋ฐ B+Tree) ๋ฐ HASH ์ธ๋ฑ์ค๋ฅผ ๋ชจ๋ ์ฌ์ฉํ๋ค.
B-Tree
๋๋ถ๋ถ์ MySQL ์คํ ๋ฆฌ์ง ์์ง์ ๊ธฐ๋ณธ ์์ธ ๊ตฌ์กฐ
B-Tree๋ ๋ ธ๋๊ฐ inorder traversal์์ ์ ๋ ฌ๋๊ธฐ ๋๋ฌธ์ ์์ฒด ๊ท ํ ํธ๋ฆฌ๋ก ์๋ ค์ ธ ์๋ค. B-ํธ๋ฆฌ์์ ๋ ธ๋๋ ๋ ๊ฐ ์ด์์ ์์์ ๊ฐ์ง ์ ์๋ค(์ต๋ M๊ฐ์ ์์, M์ฐจ B-Tree). B-Tree์ ๋์ด๋ logM N์ด๋ค(์ฌ๊ธฐ์ 'M'์ ํธ๋ฆฌ์ ์ฐจ์์ด๊ณ N์ ๋ ธ๋ ์).
์ ๋ฐ์ดํธํ ๋๋ง๋ค ๋์ด๊ฐ ์๋์ผ๋ก ์กฐ์ ๋๋ค. B-ํธ๋ฆฌ์์ ๋ฐ์ดํฐ๋ ์ผ์ชฝ์ด ๊ฐ์ฅ ๋ฎ์ ๊ฐ, ์ค๋ฅธ์ชฝ์ด ๊ฐ์ฅ ๋์ ๊ฐ์ผ๋ก ํน์ ์์๋ก ์ ๋ ฌ๋๋ค. B-Tree์ ๋ฐ์ดํฐ๋ ํค๋ฅผ ์ฝ์ ํ๋ ๊ฒ์ ์ด์ง ํธ๋ฆฌ๋ณด๋ค ๋ณต์กํ๋ค.
๋ง์ง๋ง์ผ๋ก ๊ฐ์ฅ ์์ฃผ ์ก์ธ์คํ๋ ๋ฐ์ดํฐ๊ฐ ๋ฃจํธ ๋ ธ๋์ ๋ ๊ฐ๊น์ธ ๋ B-Tree๊ฐ ๋ ์ ์ํ๋๋ค
ํน์ง
- ๋ ธ๋๋ ์ต๋ ๊ฐ ๋ถํฐ ๊ฐ ๊น์ง์ ์์์ ๊ฐ์ง ์ ์์ต๋๋ค.
- ๋ ธ๋์๋ ์ต๋ ๊ฐ ๋ถํฐ ๊ฐ์ ํค๊ฐ ํฌํจ๋ ์ ์์ต๋๋ค.
- ๋ ธ๋์ ํค๊ฐ ๊ฐ๋ผ๋ฉด ์์์ ์๋ ๊ฐ ์ ๋๋ค.
- ์ต์์ฐจ์๋ ์์์์ ํํ๊ฐ์ ์๋ฏธํ๋ฉฐ, ์ต์์ฐจ์๊ฐ t๋ผ๋ฉด ์ ๋ง์กฑํฉ๋๋ค.
(์ต์์ฐจ์ ๊ฐ 2๋ผ๋ฉด 3์ฐจ Bํธ๋ฆฌ์ด๋ฉฐ, key์ ํํ์ 1๊ฐ์ ๋๋ค.)
๊ฒ์, ์ฝ์ , ์ญ์ ๊ณผ์
B+Tree
B+Tree ๊ตฌ์กฐ๋ B ํธ๋ฆฌ ๊ตฌ์กฐ์ ์ ์ฌํ๋ค. InnoDB ์คํ ๋ฆฌ์ง ์์ง์ B+Tree ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํ์ฌ ์ธ๋ฑ์ค๋ฅผ ์ ์ฅํ๋ค.
B+Tree๋ ๋ฐ์ดํฐ ํฌ์ธํฐ๋ฅผ ํธ๋ฆฌ์ ๋ฆฌํ ๋ ธ๋์๋ง ์ ์ฅํ์ฌ ์ธ๋ฑ์ฑ์ ์ฌ์ฉ๋๋ B-ํธ๋ฆฌ์ ๋จ์ ์ ์ ๊ฑฐํ๋ค. ๋ฐ๋ผ์ B+ ํธ๋ฆฌ์ ๋ฆฌํ ๋ ธ๋ ๊ตฌ์กฐ๋ B ํธ๋ฆฌ์ ๋ด๋ถ ๋ ธ๋ ๊ตฌ์กฐ์ ์๋นํ ๋ค๋ฅด๋ค.
์ฌ๊ธฐ์ ์ ์ํ ์ ์ ๋ฐ์ดํฐ ํฌ์ธํฐ๋ ๋ฆฌํ ๋ ธ๋์๋ง ์กด์ฌํ๊ธฐ ๋๋ฌธ์ ๋ฆฌํ ๋ ธ๋์ ์ก์ธ์คํ๋ ค๋ฉด ๋์คํฌ ํ์ผ ๋ธ๋ก์ ๋ํ ํด๋น ๋ฐ์ดํฐ ํฌ์ธํฐ์ ํจ๊ป ๋ชจ๋ ํค ๊ฐ์ ๋ฐ๋์ ์ ์ฅํด์ผ ํ๋ค๋ ์ ์ด๋ค.
๋ํ ๋ฆฌํ ๋ ธ๋๋ ์ฐ๊ฒฐ๋ฆฌ์คํธ์ ํํ๋ฅผ ๋๊ณ ์๋ค. B-Tree๋ ๋ฆฌํ ๋ ธ๋๋ฅผ ๊ฒ์ฌํ ๋, ๋ค์ ๋ฃจํธ๋ ธ๋๋ถํฐ ๊ฒ์ฌํด์ผ ํ๋ค๋ฉด, B+Tree๋ ๋ฆฌํ๋ ธ๋์์ ์ ํ๊ฒ์ฌ๋ฅผ ์ํํ ์ ์์ด ์๊ฐ๋ณต์ก๋๊ฐ ์ค์ด๋ ๋ค.
๋ฆฌํ ๋ ธ๋์ ํค ๊ฐ ์ค ์ผ๋ถ๋ ๋ด๋ถ ๋ ธ๋์๋ ๋ํ๋ ๋จ์ํ ๋ ์ฝ๋ ๊ฒ์์ ์ ์ดํ๋ โโ๋งค๊ฐ์ฒด ์ญํ ์ ํ๋ค.
ํน์ง(B-Tree์ ๋์ผ)
- ๋ ธ๋๋ ์ต๋ ๊ฐ ๋ถํฐ ๊ฐ ๊น์ง์ ์์์ ๊ฐ์ง ์ ์์ต๋๋ค.
- ๋ ธ๋์๋ ์ต๋ ๊ฐ ๋ถํฐ ๊ฐ์ ํค๊ฐ ํฌํจ๋ ์ ์์ต๋๋ค.
- ๋ ธ๋์ ํค๊ฐ ๊ฐ๋ผ๋ฉด ์์์ ์๋ ๊ฐ ์ ๋๋ค.
- ์ต์์ฐจ์๋ ์์์์ ํํ๊ฐ์ ์๋ฏธํ๋ฉฐ, ์ต์์ฐจ์๊ฐ t๋ผ๋ฉด ์ ๋ง์กฑํฉ๋๋ค.
(์ต์์ฐจ์ ๊ฐ 2๋ผ๋ฉด 3์ฐจ Bํธ๋ฆฌ์ด๋ฉฐ, key์ ํํ์ 1๊ฐ์ ๋๋ค.)
๊ฒ์, ์ฝ์ , ์ญ์ ๊ณผ์
B-Tree vs B+Tree
S.NO | B-Tree | B+Tree |
1 | ๋ชจ๋ ๋ด๋ถ ๋ฐ ๋ฆฌํ ๋ ธ๋์๋ ๋ฐ์ดํฐ ํฌ์ธํฐ๊ฐ ์๋ค. | ๋ฆฌํ ๋ ธ๋์๋ง ๋ฐ์ดํฐ ํฌ์ธํฐ๊ฐ ์๋ค. |
2 | ๋ชจ๋ ํค๋ฅผ ๋ฆฌํ์์ ์ฌ์ฉํ ์ ์๊ธฐ ๋๋ฌธ์ ๊ฒ์์ ๋ ๋ง์ ์๊ฐ์ด ์์๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค. | ๋ชจ๋ ํค๋ ๋ฆฌํ ๋ ธ๋์ ์์ผ๋ฏ๋ก ๊ฒ์์ด ๋ ๋น ๋ฅด๊ณ ์ ํํ๋ค. |
3 | ํธ๋ฆฌ์์ ํค์ ๋ณต์ ๊ฐ ์ ์ง๋์ง ์๋๋ค. | ํค์ ์ค๋ณต์ด ์ ์ง๋๊ณ ๋ชจ๋ ๋ ธ๋๊ฐ ๋ฆฌํ์ ์๋ค. |
4 | ์ฝ์ ํ๋ ๋ฐ ์๊ฐ์ด ๋ ๊ฑธ๋ฆฌ๊ณ ์์ธกํ ์ ์๋ ๊ฒฝ์ฐ๊ฐ ์๋ค. | ์ฝ์ ์ด ๋ ์ฝ๊ณ ๊ฒฐ๊ณผ๋ ํญ์ ๋์ผํฉ๋๋ค. |
5 | ๋ด๋ถ ๋ ธ๋์ ์ญ์ ๋ ๋งค์ฐ ๋ณต์กํ๊ณ ํธ๋ฆฌ๊ฐ ๋ง์ ๋ณํ์ ๊ฑฐ์ณ์ผ ํ๋ค. | ๋ชจ๋ ๋ ธ๋๊ฐ ๋ฆฌํ์์ ๋ฐ๊ฒฌ๋๊ธฐ ๋๋ฌธ์ ๋ชจ๋ ๋ ธ๋์ ์ญ์ ๊ฐ ์ฝ๋ค. |
6 | ๋ฆฌํ ๋ ธ๋๋ ๊ตฌ์กฐ์ ์ฐ๊ฒฐ ๋ชฉ๋ก์ผ๋ก ์ ์ฅ๋์ง ์๋๋ค. | ๋ฆฌํ ๋ ธ๋๋ ๊ตฌ์กฐ์ ์ฐ๊ฒฐ ๋ชฉ๋ก์ผ๋ก ์ ์ฅ๋๋ค. |
7 | ์ค๋ณต ๊ฒ์ ํค๊ฐ ์๋ค. | ์ค๋ณต ๊ฒ์ ํค๊ฐ ์์ ์ ์๋ค. |
Hash
๋ฐ์ดํฐ๋ฅผ ์ฐพ๋๋ฐ ์ฌ์ฉ๋๋ ํค-๊ฐ ์ธํธ๊ฐ ์๊ณ , ํด์ ํจ์๋ ์ค์ ๋ฐ์ดํฐ ๋ฒํท์ด ์ ์ฅ๋ ์ฃผ์๋ฅผ ๊ณ์ฐํ๋๋ฐ ์ฌ์ฉ๋๋ค. ๊ทธ๋ฌ๋ฉด ํค-๊ฐ๊ณผ ๊ด๋ จ๋ ๋ ์ฝ๋์ ์์น๊ฐ ํ์๋๋ค.
๊ฐ์ ํด์ ํจ์์ ๊ฐ์ ๊ธฐ๋ฐ์ผ๋ก ๋ฒํท์ ์ ์ฅ๋๋ค. ๊ฐ์ ๊ฒ์ํ๋ ค๋ฉด ํด์ ํจ์๋ฅผ ์ฌ์ฉํด ๋ฒํท ์ฃผ์๋ฅผ ๊ณ์ฐํ๊ณ , ์ฐพ์ผ๋ฉด ๋. ์ฐพ์ง ๋ชปํ๋ฉด ์ธ๋ฑ์ค์ ์๋ค๋ ์๋ฏธ๋ค.
์ ๊ฐ์ ์ถ๊ฐํ๋ ๊ฒ๋ ์ ์ฌํ๊ฒ ๋์ํ๋ค.
์ฐธ๊ณ
- www.youtube.com/watch?v=9ZXIoh9PtwY
- www.youtube.com/watch?v=NkZ6r6z2pBg
- jojoldu.tistory.com/243
- pearlluck.tistory.com/54
- https://gyoogle.dev/blog/computer-science/data-base/Index-.html
- https://www.vertabelo.com/blog/all-about-indexes-part-2-mysql-index-structure-and-performance/
- https://www.geeksforgeeks.org/difference-between-b-tree-and-b-tree/
- https://velog.io/@emplam27/%EC%9E%90%EB%A3%8C%EA%B5%AC%EC%A1%B0-%EA%B7%B8%EB%A6%BC%EC%9C%BC%EB%A1%9C-%EC%95%8C%EC%95%84%EB%B3%B4%EB%8A%94-B-Tree
'๐CS > DB' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[DB] ์ ๊ทํ (0) | 2021.04.11 |
---|---|
[DB] N + 1 ๋ฌธ์ (0) | 2021.04.11 |
[SQL] ๋ค์ค์ ๋ ฌ ORDER BY (1) | 2020.01.09 |
[MySQL] Resotre Workspace ์ค๋ฅ (0) | 2019.12.10 |
[Sequelize v5] ์ํ๋ผ์ด์ฆ find ํจ์ ์ค๋ฅ (0) | 2019.05.29 |
๋๊ธ