B+ tree ์ธ๋ฑ์ค
- ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๊ฐ์ฅ ๋๋ฆฌ ์ฌ์ฉ๋๋ ์ธ๋ฑ์ค ๊ตฌ์กฐ
์ฐจ์๊ฐ ๐ ์ธ B + tree
- ์ฐจ์ : ํ ๋ ธ๋(node)์์ ํ์ ์์ ๋ ธ๋(child node)๋ฅผ ๊ฐ๋ฆฌํค๋ ์ฃผ์์ ๊ฐ์
- ์ค๊ฐ ๋ ธ๋ ๊ตฌ์กฐ
โช ๐1 ~ ๐๐ : ์์ ๋ ธ๋๋ฅผ ๊ฐ๋ฆฌํค๋ ํฌ์ธํฐ
โช ๐พ๐๐ฆ1 ~ ๐พ๐๐ฆ๐−1 : ๊ฒ์ ํค (๐พ๐๐ฆ1 < ๐พ๐๐ฆ2 < ... < ๐พ๐๐ฆ๐−1)
โช ๐๐+1 ์ด ๊ฐ๋ฆฌํค๋ ํ์ ๋ ธ๋์ ๋ชจ๋ ๊ฒ์ ํค๋ ๐พ๐๐ฆ๐ ๋ณด๋ค ํฌ๊ณ ๐พ๐๐ฆ๐+1 ๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์
B+ tree ํน์ง
º ๋จ๋ง ๋ ธ๋์ ๋ ์ฝ๋๋ค์ ์ฃผ์ ์ ์ฅ
º ๋ฃจํธ ๋ ธ๋์์ ๋จ๋ง ๋ ธ๋๊น์ง์ ๋ชจ๋ ๊ฒฝ๋ก์ ๊ธธ์ด๋ ๊ฐ์
º ๋ฃจํธ ๋ ธ๋๋ ์ต์ 2๊ฐ, ์ต๋ n ๊ฐ์ ์์ ๋ ธ๋๋ฅผ ๊ฐ์ง
º ๋ฃจํธ ๋ ธ๋์ ๋จ๋ง ๋ ธ๋๋ฅผ ์ ์ธํ ์ค๊ฐ ๋ ธ๋๋ค์ ์ต์ [n / 2], ์ต๋ n๊ฐ์ ์์ ๋ ธ๋๋ฅผ ๊ฐ์ง
B+ tree๋ฅผ ์ด์ฉํ ๊ฒ์ ๋ฐฉ๋ฒ
- ๊ฒ์ ํค ๊ฐ์ด ์ฃผ์ด์ง ๋, ๋ฃจํธ ๋ ธ๋์์๋ถํฐ ๊ทธ ํค ๊ฐ์ ํฌํจํ๋ ์ฒซ ๋จ๋ง ๋ ธ๋๊น์ง ํ๋์ ๊ฒฝ๋ก๊ฐ ์กด์ฌํ๊ณ , ์ธ๋ฑ์ค ๋ ธ๋์ ํฌํจ๋ ํค ๊ฐ์ ๋น๊ตํ๋ฉด์ ๊ทธ ๊ฒฝ๋ก๋ฅผ ์ฐพ์ ์ ์์
- ๋จ๋ง ๋ ธ๋์ ๋๋ฌํ๋ฉด ๊ฒ์ ํค๋ฅผ ํฌํจํ ๋ ์ฝ๋๋ค์ ๋ํ ์ฃผ์๋ฅผ ๊ตฌํ ์ ์์ → ํ ์ด๋ธ ๋ด์ ๋ ์ฝ๋ ์ ๊ทผ
๊ฒ์ ์ฑ๋ฅ
์) department ํ ์ด๋ธ์์ 10000๊ฐ์ ๋ ์ฝ๋๋ฅผ ๊ฐ๊ณ , ์ด ์ค์์ dept_name ๊ฐ์ด '์ปดํจํฐ๊ณตํ๊ณผ'์ธ ๋ ์ฝ๋๋ฅผ ๊ฒ์ํ ๋ ์ธ๋ฑ์ค๊ฐ ์๋ค๋ฉด ์ต์ ์ ๊ฒฝ์ฐ 10000๊ฐ์ ๋ ์ฝ๋๋ฅผ ๋ชจ๋ ๊ฒ์ํด์ผํจ , dept_name ํ๋์ ์ฐจ์๊ฐ 10์ธ B+ tree ์ธ๋ฑ์ค๊ฐ ์๋ค๋ฉด!
- B+ tree์ ๋์ด = [log10 10000] = 4
- ์ฐจ์๊ฐ 10, ๊ฒ์ ํค ๊ฐ์ ์๊ฐ ์ต๋ 10000๊ฐ์ด๋ฏ๋ก, B+ tree์ ๋์ด๋ ์ต๋ 4๋ฅผ ๋์ง ์๋๋ค
- ์ต๋ 4๊ฐ์ ๋ ธ๋๋ง ์ฝ์ผ๋ฉฐ ์ํ๋ ๋ ์ฝ๋๋ค์ ์ฐพ์ ์ ์๋ค
๋ณตํฉ ์ธ๋ฑ์ค
- ๋ ๊ฐ ์ด์์ ํ๋๋ค์ ๋ํด ์ ์๋๋ ์ธ๋ฑ์ค
- ์ธ๋ฑ์ค ์ํธ๋ฆฌ๋ค์ ๊ฒ์ํค ๊ฐ์ ์์๋๋ก ์ ๋ ฌ๋จ
- ํจ์จ์ ์ธ ๊ฒ์์ ์ํด B+ tree ๊ตฌ์ฑ ๊ฐ๋ฅ
์ํธ๋ฆฌ ์ ๋ ฌ ๋ฐฉ๋ฒ
- ๊ฒ์ ํค ๊ฐ์ด ์ซ์์ธ ๊ฒฝ์ฐ ํฌ๊ธฐ๋ก ์ ๋ ฌ ๊ฐ๋ฅ
- ๊ฒ์ ํค ๊ฐ์ด ๋ฌธ์์ด์ธ ๊ฒฝ์ฐ์๋ ์ฌ์ ์ ์์์ ๋ฐ๋ผ ์ ๋ ฌ
- ๋ฌธ์์ด, ์ซ์๊ฐ ์๋ ๊ฒฝ์ฐ์๋ ์ํธ๋ฆฌ๋ค ๊ฐ์ ๋์ ๊ด๊ณ ์ ์ ํ์
๋ณตํฉ ์ธ๋ฑ์ค์ ํจ๊ณผ
โ ๋ณตํฉ ์ธ๋ฑ์ค๊ฐ ์ ์๋ ํ๋๋ค๋ง์ ์ด์ฉํ๋ ์ง์๋ ํ ์ด๋ธ ์กฐํ ์์ด ๋ณตํฉ ์ธ๋ฑ์ค ์กฐํ ๋ง์ผ๋ก ์ฒ๋ฆฌ ๊ฐ๋ฅ
์ฃผ์์ฌํญ
- ๊ด๋ จ ํ๋์ ์์์ ๋ฐ๋ผ ์ธ๋ฑ์ค์ ํจ๊ณผ๊ฐ ๋ฌ๋ผ์ง
์) (stu_id, class_id) ํ๋ ์์์ ํจ๊ณผ์ ์ธ ์ง์
select *
from takes
where stu_id = ‘1292001’ and class_id > ‘C101-01'
์) (class_id, stu_id) ํ๋ ์์์ ํจ๊ณผ์ ์ธ ์ง์
select *
from takes
where stu_id > ‘1292001’ and class_id = ‘C101-01’
'๐ฉ๐ฆ๐น๐ฆ๐ง๐ฆ๐ธ๐ช' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
SQL ๋ฐ์ดํฐ๋ฒ ์ด์ค(DB) ํธ๋์ญ์ (Transaction) (0) | 2021.05.29 |
---|---|
SQL ๋ฐ์ดํฐ๋ฒ ์ด์ค(DB) ํด์ ์ธ๋ฑ์ค, ๋ฒ์ผ, ํด์ ํจ์ (0) | 2021.05.22 |
SQL ๋ฐ์ดํฐ๋ฒ ์ด์ค(DB) ๋ฌผ๋ฆฌ์ ์ ์ฅ ๊ตฌ์กฐ์ ์ธ๋ฑ์ค (0) | 2021.05.16 |
SQL ๋ฐ์ดํฐ๋ฒ ์ด์ค(DB) ์ ๊ทํ, ์ ๊ทํ (0) | 2021.05.16 |
SQL ๋ฐ์ดํฐ๋ฒ ์ด์ค(DB) ํจ์์ ์ข ์ (0) | 2021.05.16 |