Index란?
임의의 규칙대로 부여된 임의의 대상을 가리키는 무언가.
Indexing을 통해 유의미한 속도개선이 되기때문에 주로 대용량 DB에 사용.
Index의 종류
Clustered Index, Non Clusterd Index가 있음.
- Clustered Index
순서대로 한테이블당 하나로만 존재.
해당 Index 컬럼으로 정렬을하기 때문에 해당 컬럼으로 조회시 조회속도가 매우 빠르다.
그러나 Insert시 정렬을 다시 새로 해야하는 작업이 들어가기때문에 삽입,변경시 속도가 매우 느림.
- Non Clusterd Index
여러개가 존재할 수 있음.
정렬을하지않음
index를 저장할 추가공간을 확보하여(약 10%) 해당 index로 조회시, data가 들어있는 주소를 저장하여 실제 데이터에 접근한다.
Clustered는 사전을 Non Clustered 는 일반책에 있는 목차로 생각하면 이해하기 쉽다.
사진출처 :
https://gwang920.github.io/database/clusterednonclustered/
'자기개발 > CS 상식' 카테고리의 다른 글
Synchronous Asynchronous Blocking Non-Blocking (1) | 2022.09.21 |
---|---|
Web Server와 WAS의 차이 (2) | 2022.09.19 |