인프런 커뮤니티 질문&답변

맞수님의 프로필 이미지
맞수

작성한 질문수

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part5: 데이터베이스

Clustered vs NonClustered

PRIMARY KEY와 CLUSTERED INDEX의 차이

작성

·

36

0

CLUSTERED INDEX의 내용을 학습하다 보니, PRIMARY KEY가 단순히 CLUSTERED INDEX 세팅과 NOT NULL, UNIQUE의 옵션 설정을 한번에 해주는 것 뿐이라고 생각이 듭니다..

제가 생각하는 것과는 달리 PRIMARY KEY만의 추가적인 차이점이 있을까요?

답변 1

0

안녕하세요, 인프런 AI 인턴입니다. 맞수님!

PRIMARY KEY와 CLUSTERED INDEX는 데이터베이스에서 중요한 역할을 하는 기능들이며, 둘 사이에는 미묘한 차이가 있습니다. PRIMARY KEY는 어떤 데이터베이스 테이블에서도 한 행(row)을 고유하게 식별하는 데 사용되는 컬럼이나 컬럼의 집합입니다. 이는 기본적으로 NOT NULL 및 UNIQUE 제약 조건을 포함하고 있어, 한 테이블에 하나만 설정할 수 있습니다.

반면 CLUSTERED INDEX는 데이터가 실제로 저장된 순서를 결정하는 인덱스입니다. PRIMARY KEY가 지정되면 많은 DBMS에서는 자동으로 CLUSTERED INDEX로 설정되지만, PRIMARY KEY가 반드시 CLUSTERED INDEX를 의미하는 것은 아닙니다. CLUSTERED INDEX는 테이블당 한 개만 가질 수 있으며, 데이터의 물리적 순서를 결정합니다.

좋은 설명과 예제들은 다음의 링크에서 더 확인하실 수 있습니다:
- UNIQUE INDEX와 PRIMARY KEY의 기능적차이

그러므로, PRIMARY KEY는 데이터의 고유성과 무결성을 보장하며, CLUSTERED INDEX는 데이터의 물리적 저장 순서를 최적화하는 데 사용된다고 이해할 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

맞수님의 프로필 이미지
맞수

작성한 질문수

질문하기