[DB] Clustered, non-Clustered Index

ggydo59·2023년 6월 28일
0

💡 인덱스는 테이블이나 뷰와 관련된 디스크상 구조로서 테이블이나 뷰의 행 검색속도를 향상시킵니다. 따라서 인덱스 설계는 쿼리 성능향상에 큰 영향을 미치므로 신중하게 지정해야합니다.

클러스터형 인덱스

클러스터형 인덱스는 직관적으로 Primary Key라고 이해하면 됩니다.
이렇게 지정된 컬럼을 기준으로 데이터가 정렬되어 저장됩니다.

Non-clustered Index

논클러스터형 인덱스는 클러스터형 인덱스처럼 원본데이터를 직접 정렬하지 않고, 기준으로 잡은 컬럼에 대한 위치정보를 마킹해놓은 테이블을 따로 생성합니다. 이러한 방식으로 위치 정보를 기억해두어, 테이블을 조회할때 정렬할 필요 없이 빠르게 조회되는 것입니다.

정리

인덱스를 여러개 잡을 수는 있지만 무한히 생성할 수 있는 건 아닙니다. 하나 생성이 될때마다 테이블의 INSERT 성능이 떨어질 수 있습니다. 다만 조회에 있어서는 정렬 연산을 수행할 필요가 없어 많은 이점이 있으므로 상황이나 용도를 잘 고려하여 선정해야 되겠습니다.

더 많은 정보가 필요하다면 아래 링크에서 더 깊게 공부해보시는 걸 추천드립니다.

참고

profile
데이터엔지니어입니다.

0개의 댓글