Skip to content

Commit 26c959a

Browse files
authored
modify: 클러스터드, 논클러스터드 인덱스 개념 수정 (#221)
* modify: 클러스터드, 논클러스터드 인덱스 개념 수정 * modify: 수정한 사항만 커밋에 반영 * modify: 내용 보충 * style: 프리티어 적용하지 않음
1 parent a74d961 commit 26c959a

File tree

1 file changed

+20
-5
lines changed

1 file changed

+20
-5
lines changed

Database/README.md

+20-5
Original file line numberDiff line numberDiff line change
@@ -103,11 +103,26 @@ DBMS 의 인덱스는 항상 정렬된 상태를 유지하기 때문에 원하
103103

104104
### Primary Index vs Secondary Index
105105

106-
클러스터(Cluster)란 여러 개를 하나로 묶는다는 의미로 주로 사용되는데, 클러스터드 인덱스도 크게 다르지 않다. 인덱스에서 클러스터드는 비슷한 것들을 묶어서 저장하는 형태로 구현되는데, 이는 주로 비슷한 값들을 동시에 조회하는 경우가 많다는 점에서 착안된 것이다. 여기서 비슷한 값들은 물리적으로 인접한 장소에 저장되어 있는 데이터들을 말한다.
107-
108-
클러스터드 인덱스는 테이블의 프라이머리 키에 대해서만 적용되는 내용이다. 즉 프라이머리 키 값이 비슷한 레코드끼리 묶어서 저장하는 것을 클러스터드 인덱스라고 표현한다. 클러스터드 인덱스에서는 프라이머리 키 값에 의해 레코드의 저장 위치가 결정되며 프라이머리 키 값이 변경되면 그 레코드의 물리적인 저장 위치 또한 변경되어야 한다. 그렇기 때문에 프라이머리 키를 신중하게 결정하고 클러스터드 인덱스를 사용해야 한다.
109-
110-
클러스터드 인덱스는 테이블 당 한 개만 생성할 수 있다. 프라이머리 키에 대해서만 적용되기 때문이다, 이에 반해 non 클러스터드 인덱스는 테이블 당 여러 개를 생성할 수 있다.
106+
- Primary Index는 *Primary Key에 대해서 생성된 Index* 를 의미한다
107+
- 테이블 당 하나의 Primary Index만 존재할 수 있다
108+
- Secondary Index는 *Primary Key가 아닌 다른 칼럼에 대해서 생성된 Index* 를 의미한다
109+
- 테이블 당 여러 개의 Secondary Index를 생성할 수 있다
110+
111+
### Clustered Index vs Non-clustered Index
112+
113+
클러스터(Cluster)란 여러 개를 하나로 묶는다는 의미로 주로 사용되는데, 클러스터드 인덱스도 크게 다르지 않다. 인덱스에서 클러스터드는 비슷한 것들을 묶어서 저장하는 형태로 구현되는데, 이는 주로 비슷한 값들을 동시에 조회하는 경우가 많다는 점에서 착안된 것이다. 여기서 비슷한 값들은 물리적으로 *인접한 장소에 저장* 되어 있는 데이터들을 말한다.
114+
115+
- 클러스터드 인덱스(Clustered Index)는 인덱스가 적용된 속성 값에 의해 레코드의 물리적 저장 위치가 결정되는 인덱스이다.
116+
- 일반적으로 데이터베이스 시스템은 Primary Key에 대해서 기본적으로 클러스터드 인덱스를 생성한다.
117+
- Primary Key는 행마다 고유하며 Null 값을 가질 수 없기 때문에 물리적 정렬 기준으로 적합하기 때문이다.
118+
- 이러한 경우에는 Primary Key 값이 비슷한 레코드끼리 묶어서 저장하게 된다.
119+
- 물론 Primary Key가 아닌 다른 칼럼에 대해서도 클러스터드 인덱스를 생성할 수 있다.
120+
- 클러스터드 인덱스에서는 인덱스가 적용된 속성 값(주로 Primary Key)에 의해 *레코드의 저장 위치가 결정* 되며 속성 값이 변경되면 그 레코드의 물리적인 저장 위치 또한 변경되어야 한다.
121+
- 그렇기 때문에 어떤 속성에 클러스터드 인덱스를 적용할지 신중하게 결정하고 사용해야 한다.
122+
- 클러스터드 인덱스는 테이블 당 한 개만 생성할 수 있다.
123+
- 논클러스터드 인덱스(Non-clustered Index)는 데이터를 물리적으로 정렬하지 않는다.
124+
- 논클러스터드 인덱스는 별도의 인덱스 테이블을 만들어 실제 데이터 테이블의 행을 참조한다.
125+
- 테이블 당 여러 개의 논클러스터드 인덱스를 생성할 수 있다.
111126

112127
</br>
113128

0 commit comments

Comments
 (0)