인덱스?
DataBase 분야에서 Table에 대한 동작 속도를 높여주는 자료구조.
마치 책갈피처럼, 인덱스를 설정하면 빠르게 색인을 할 수 있도록 도와준다.
인덱스의 구조
key, file, data에 맞추어 세개의 종류가 존재한다고 한다.
1. Clustered Index
대표적으로 PK 인덱스가 있다.
2. NonClustered Index
일반적인 인덱스를 지칭하며, 여러 개를 지정할 수 있다.
하지만 클러스터와 달리 줄을 세우는 느낌은 아니다.
실습(Clustered Index)
alter table TBL_CODE add primary key(CODE)
PK 테이블을 설정할 경우 CODE에 따라 자동 정렬된다.
클러스터드 인덱스의 특징인 줄세우기가 바로 나타남을 확인할 수 있다.
실습(Nonclustered Index)
BTree 유형의 인덱스가 생성되며, 결과가 물리적으로 영향을 끼치지 않는다.
실제 테이블을 건드리지 않고, 인덱스만을 위한 공간을 할당한 것이다.
클러스터드 인덱스가 책갈피라면, 논클러스드는 책의 마지막 색인 페이지와 비슷하다.
자료구조 : BTree
B-Tree와 B+Tree의 예시도. (B-Tree를 통상적으로 많이 쓴다.)
1. B-Tree
자료구조는 루트(R)와 브랜치(B), 리프(L)로 나뉜다.
B+Tree의 경우 링크드리스트를 활용한 리프 범위 계산이 가능하기에, Range 계산의 경우 더 이점이 있다고 한다.
'CS study > 데이터베이스' 카테고리의 다른 글
[인덱스] 순차 증가 값은 항상 효율적인가? (24.06.12) (0) | 2024.10.01 |
---|---|
3주차 - 랜덤I/O, 순차 I/O와 인덱스, B+Tree, B-Tree (0) | 2024.01.25 |
DataBase 2주차 정리 - SQL, DDL, DML, DCL, JOIN, 쿼리 순서 (0) | 2024.01.18 |
1주차 스터디 노트(DB, 스키마, RDBMS, Key, 제약조건) (1) | 2024.01.11 |
[Elasticsearch] RDBMS에 비해 왜 빠를까? 역인덱싱에 대해 (1) | 2023.12.17 |