[๋ฐ์ดํฐ๋ฒ ์ด์ค] Index
๐งช Computer Science/Database
Index๋?
- ์ธ๋ฑ์ค(index)์ ์๋ ๋ป์ ์์ธ์ด๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์กฐํ ๋ฐ ๊ฒ์์ ๋ ๋น ๋ฅด๊ฒ ํ ์ ์๋ ๋ฐฉ๋ฒ/๊ธฐ์ , ํน์ ์ด์ ์ฐ์ด๋ ์๋ฃ๊ตฌ์กฐ ์์ฒด๋ฅผ ์๋ฏธํ๊ธฐ๋ ํ๋ค.
- ์ฌ์ฉ ์ด์
select
๋ฌธ์ ์ฌ์ฉํ์ฌ ์ํ๋ ์กฐ๊ฑด์ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ ๋, ์ ์ฅ๋ ๋ฐ์ดํฐ์ ์์ด ์์ฒญ๋๊ฒ ๋ง๋ค๋ฉด ๊ฒ์์ ์ํ ์ํ์ ๋ง์ ์์๊ณผ ์๊ฐ์ด ์๋ชจ๋ ๊ฒ์ด๋ค. ์ด ๋ ๋์์ด ๋๋๊ฒ ์ธ๋ฑ์ค์ด๋ค.- ์์ฃผ ์กฐํ๋๋ Column์ ๋ํ Index Table์ ๋ฐ๋ก ๋ง๋ค์ด SELECT ๋ฌธ์ด ๋ค์ด์์ ๋ Index ํ ์ด๋ธ์ ์๋ ๊ฐ๋ค๋ก ๊ฒฐ๊ณผ ๊ฐ์ ์กฐํํด ์จ๋ค. ๊ทธ๋์ Index๋ฅผ ์ ์ฌ์ฉํ๋ค๋ฉด '๊ฒ์'์ฐ์ฐ์ ์คํํ์ ๋ ์ฑ๋ฅ์ ์ฌ๋ฆด ์ ์๊ฒ ๋๋ค.
- ๋์
- Index Table์์
where
์ ํฌํจ๋ ๊ฐ์ ๊ฒ์ - ํด๋น ๊ฐ์ table_id PK๋ฅผ ํ๋
- ๊ฐ์ ธ์จ table_id PK ๊ฐ์ผ๋ก ์๋ณธ ํ ์ด๋ธ์์ ๊ฐ์ ์กฐํ
- Index Table์์
Index ์๋ฃ๊ตฌ์กฐ
- B+-Tree ์ธ๋ฑ์ค ์๊ณ ๋ฆฌ์ฆ
- ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ๋๋ ์ธ๋ฑ์ค ์๊ณ ๋ฆฌ์ฆ์ B+-Tree ์๊ณ ๋ฆฌ์ฆ์ด๋ค. B+-Tree ์ธ๋ฑ์ค๋ ์นผ๋ผ์ ๊ฐ์ ๋ณํํ์ง ์๊ณ ์๋์ ๊ฐ์ ์ด์ฉํด ์ธ๋ฑ์ฑํ๋ ์๊ณ ๋ฆฌ์ฆ์ด๋ค.
- Hash ์ธ๋ฑ์ค ์๊ณ ๋ฆฌ์ฆ
- ์นผ๋ผ์ ๊ฐ์ผ๋ก ํด์ ๊ฐ์ ๊ณ์ฐํด์ ์ธ๋ฑ์ฑํ๋ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ๋งค์ฐ ๋น ๋ฅธ ๊ฒ์์ ์ง์ํ๋ค. ํ์ง๋ง ๊ฐ์ ๋ณํํด์ ์ธ๋ฑ์ฑํ๋ฏ๋ก, ํน์ ๋ฌธ์๋ก ์์ํ๋ ๊ฐ์ผ๋ก ๊ฒ์์ ํ๋ ์ ๋ฐฉ ์ผ์น์ ๊ฐ์ด ๊ฐ์ ์ผ๋ถ๋ง์ผ๋ก ๊ฒ์ํ๊ณ ์ ํ ๋๋ ํด์ ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ ์ ์๋ค. ์ฃผ๋ก ๋ฉ๋ชจ๋ฆฌ ๊ธฐ๋ฐ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋ง์ด ์ฌ์ฉํ๋ค.
- ์ index ์์ฑ ์ b-tree๋ฅผ ์ฌ์ฉํ ๊น? hash table(O(1))์ด ๋ ํจ์จ์ ์ด์ง ์์๊น?
- SELECT ์ง์ ์กฐ๊ฑด์๋ ๋ถ๋ฑํธ ์ฐ์ฐ(<>)๋ ํฌํจ
- hash table์ ๋๋ฑ ์ฐ์ฐ์ ํนํ๋ ์๋ฃ๊ตฌ์กฐ์ด๊ธฐ ๋๋ฌธ์ ๋ถ๋ฑํธ ์ฐ์ฐ ์ฌ์ฉ ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค.
ํด๋ฌ์คํฐ
- ์ธ๋ฑ์ค์์ ํด๋ฌ์คํฐ๋ ๋ฌผ๋ฆฌ์ ์ผ๋ก ์ธ์ ํ ์ฅ์์ ์ ์ฅ๋์ด ์๋ ๋ฐ์ดํฐ๋ค์ ๋ฌถ์ด์ ์ ์ฅํ๋ ํํ์ด๋ค.
- ํด๋ฌ์คํฐ ์ธ๋ฑ์ค๋ ํ๋ผ์ด๋จธ๋ฆฌ ํค์ ์ํด ๋ ์ฝ๋ ์ ์ฅ ์์น๊ฐ ๊ฒฐ์ ๋๋ค.
- ๋ฐ๋ผ์ ํค๋ฅผ ์ ์คํ๊ฒ ๊ฒฐ์ ํ๊ณ ์ฌ์ฉํด์ผ ํ๋ค.
์ฃผ์ํ ์
- ์ธ๋ฑ์ค๋ ๋ฐ๋ก ํ ์ด๋ธ์ ํํ๋ก ๊ด๋ฆฌ๊ฐ ๋๋ค. ์์์ ์๋ชจํ๋ค๋ ์๋ฏธ์ด๋ค. ๋๋ฌธ์ ๋ฌด๋ถ๋ณํ ์ธ๋ฑ์ค์ ์ฌ์ฉ์ ์ฑ๋ฅ์ ๋ถ์ ์ ์ธ ์ํฅ์ ๋ฏธ์น ์ ์๋ค.
- ๋ํ ์ธ๋ฑ์ค๋ ์ด์งํธ๋ฆฌ๋ฅผ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ ๋ ฌ๋์ด ์๋ค. ์ด๋ก ์ธํด ๊ฒ์๊ณผ ์กฐํ์ ์๋๋ฅผ ํฅ์์ํฌ ์ ์์ง๋ง ์ฆ์ ๋ฐ์ดํฐ์ ๋ณ๊ฒฝ(์ฝ์
, ์์ , ์ญ์ )๊ฐ ๋๋ค๋ฉด ์ธ๋ฑ์ค ํ
์ด๋ธ์ ๋ณ๊ฒฝ๊ณผ ์ ๋ ฌ์ ๋๋ ์ค๋ฒํค๋ ๋๋ฌธ์ ์คํ๋ ค ์ฑ๋ฅ ์ ํ๊ฐ ์ผ์ด๋ ์ ์๋ค.
- INSERT: ํ ์ด๋ธ์๋ ์ ๋ ฅ ์์๋๋ก ์ ์ฅ๋์ง๋ง, ์ธ๋ฑ์ค ํ ์ด๋ธ์๋ ์ ๋ ฌํ์ฌ ์ ์ฅํ๊ธฐ ๋๋ฌธ์ ์ฑ๋ฅ ์ ํ ๋ฐ์
- DELETE: ํ ์ด๋ธ์์๋ง ์ญ์ ๋๊ณ ์ธ๋ฑ์ค ํ ์ด๋ธ์๋ ๋จ์ ์์ด ์ฟผ๋ฆฌ ์ํ ์๋ ์ ํ
- UPDATE: ์ธ๋ฑ์ค์๋ UPDATE๊ฐ ์๊ธฐ ๋๋ฌธ์ DELETE, INSERT ๋ ์์ ์ํํ์ฌ ๋ถํ ๋ฐ์
- ๋ฐ์ดํฐ์ ์ค๋ณต์ด ๋์ ์ปฌ๋ผ(์นด๋๋๋ฆฌํฐ๊ฐ ๋ฎ์ ์ปฌ๋ผ)์ ์ธ๋ฑ์ค๋ก ๋ง๋ค์ด๋ ๋ฌด์ฉ์ง๋ฌผ(์: ์ฑ๋ณ)
- ๋ค์ค ์ปฌ๋ผ ์ธ๋ฑ์ฑํ ๋ ์นด๋๋๋ฆฌํฐ๊ฐ ๋์ ์ปฌ๋ผ -> ๋ฎ์ ์ปฌ๋ผ ์์ผ๋ก ์ธ๋ฑ์ฑํด์ผ ํจ์จ์
'๐งช Computer Science > Database' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐ์ดํฐ๋ฒ ์ด์ค] PL/SQL (0) | 2021.07.04 |
---|---|
[๋ฐ์ดํฐ๋ฒ ์ด์ค] SQL ๊ธฐ์ด(๋ฐ์ดํฐ ์ ์์ด/์กฐ์์ด/์ ์ด์ด) (0) | 2021.07.04 |
[๋ฐ์ดํฐ๋ฒ ์ด์ค] ๋ฌด๊ฒฐ์ฑ ์ ์ฝ์กฐ๊ฑด๊ณผ ํค(Key) (0) | 2021.07.03 |
[๋ฐ์ดํฐ๋ฒ ์ด์ค] ๋ฐ์ดํฐ๋ฒ ์ด์ค (0) | 2021.06.30 |
[๋ฐ์ดํฐ๋ฒ ์ด์ค] ๊ธฐ๋ณธ ์ฉ์ด ์ ๋ฆฌ (0) | 2021.06.30 |