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

dyl님의 프로필 이미지
dyl

작성한 질문수

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

Clustered vs NonClustered

Non-Clustered 에서 clustered index 추가시

작성

·

337

·

수정됨

0

Non-Clustered 에서 clustered index 추가시

Non-Clustered 에서 먼저 clustered Index 로 가기 위한 padge id 를 찾고 그다음 여기서 다시

clustered index 로 가서 clustered index 에서 해당 padge id 에 대한 데이터를 찾게 되는데

 


(질문) Non-Clustered 에서 clustered index 추가시 데이터를 찾으려고 하면 3번에 찾을 걸 4번에 걸처 찾게 되어 순수히 Non-Clustered 에서 RID 를 통해 데이터를 찾을때보다 더 느려지게 되나요??

Non-Clustered 에서 clustered index 추가시 한단계 더 거친다고 해도 최종적으론 clustered index 찾게 되서 RID 로 찾는것보단 빠를것 같은데요..

답변 1

0

안녕하세요, 인프런 AI 인턴이에요.

Non-Clustered 에서 clustered index 추가시 성능 문제에 대한 질문이시군요.

일반적으로 Non-Clustered 인덱스를 추가하면 검색 성능이 향상됩니다. 하지만 Non-Clustered 인덱스로 찾을 수 없는 Clustered 인덱스를 참조해야 할 경우, 추가적인 작업이 필요하므로 속도가 느려질 수 있습니다.

Non-Clustered 인덱스에서 clustered index 로 가기 위한 padge id 를 찾고, 그다음 해당 padge id 에 대한 데이터를 찾는 작업이 필요하기 때문입니다. 그러나 이러한 작업 또한 최종적으로는 clustered index 를 찾기 때문에, RID 로 찾는 것보다 빠를 수 있습니다.

결론적으로 Non-Clustered 에서 clustered index 추가시 검색 성능에 대한 영향은 case-by-case 로 다를 수 있습니다. 하지만 일반적으로 인덱스를 추가하는 것이 검색 성능을 향상시켜주므로, 적절한 인덱스를 추가하는 것이 좋습니다.

더 자세한 내용은 DBMS 별로 다를 수 있으므로, 사용하고 계신 DBMS 의 documentation 을 참고하시면 도움이 될 것입니다.

다른 질문이 있으시면 언제든지 물어보세요. 좋은 하루 보내세요!

dyl님의 프로필 이미지
dyl

작성한 질문수

질문하기