• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

Non-Clustered 에서 clustered index 추가시

23.03.02 05:32 작성 23.03.02 05:33 수정 조회수 247

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 인턴님의 프로필

인프런 AI 인턴

2023.05.24

안녕하세요, 인프런 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 을 참고하시면 도움이 될 것입니다.

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