본문 바로가기

clustered index

클러스터 인덱스, 비 클러스터형인데스 차이 # 클러스터 인덱스, 비 클러스터형 인데스 차이 구분 클러스터형 비클러스터형 사용목적 테이블 속 레코드들을 물리적으로 정렬하여 메모리에 저장 비클러스터형 인덱스는 데이터행의 논리적 순서를 만듦. 또 그 행에 접근하는 포인터를 가짐 저장방법 데이터 페이지를 리프노드 인덱스에 저장 리프노드 인덱스에 데이터 페이지 저장 안함 크기 큼 상대적으로 작음 접근속도 빠름 상대적으로 느림 추가디스크공간 필요없음 인덱스 저장을 위한 별도 공간 필요 키타입 디폴트로 테이블의 기본키가 클러스터형 인덱스가 됨 테이블에 독특한 제약조건 사용되고 복합키로 역할을 한다. 참고로 복합키는 각 튜플을 식별할 수 있는 두 개 이상의 속성들로 구성된 후보키 큰특징 클러스터 인덱스는 데이터 조회 성능을 향상시켜줌 조인에 사용되는 컬럼들을 .. 더보기
Custom Clustered Index 이번에는 사용자가 정의한 클러스터 인덱스를 보자. Clustered Index와 같지만 사용자가 인덱스를 만드는데 정의되는 컬럼을 정한다는 것에서 그냥 Custom이라고 이름을 붙였으니 기존 Clustered Index와 다른 건가? 하고 생각하지 않았으면 좋겠다. 앞선 글에서 본 Student 테이블을 가지고 계속진행하겠다. Create Table Student ( Stud_id int Primary Key, Name nvarchar(10) not null, Dept_Cd nvarchar(10) not null, Mobile_Num nvarchar(13) not null, ) 우선 Student 테이블에 있던 인덱스는 삭제를 하겠다. SELECT name FROM sys.key_constraints W.. 더보기
Clustered Index 인덱스는 쿼리를 처리하는 속도와 같은 성능과 관계가 있다. 흔히 책의 색인과 유사하다. 어떤 키워드와 관련한 페이지로 이동을 해야할 때 우린 색인을 찾아본다. 그럼 몇 페이지로 이동하면 해당 키워드와 연관된 내용을 볼 수 있는지 알 수 있다. 만약 색인이 없다면 우린 책을 처음부터 끝까지 넘겨보거나 아무 페이지나 마구 펼쳐가며 찾든 비효율적인 과정을 거칠것이다. SQL Server에는 두 가지 유형의 인덱스가 있다. 1. 클러스터형 인덱스(Clustered Index) 2. 비 클러스터형 인덱스(Non Clustered Index) 먼저 클러스터형 인덱스를 간단히 살펴보겠다. 클러스터형 인데스는 테이블 내에 있는 데이터의 물리적 저장 순서를 정의한다. 테이블 당 하나의 클러스터 인덱스가 존재한다. 테이블.. 더보기