MSSQL 인덱스(INDEX) 알아볼게요~

카테고리 없음|2020. 1. 3. 15:34

DB에 데이터가 쌓여가다 보면 슬슬 부하가 걸리기 마련인데요. 인덱스(INDEX)를 이용하면 조회시 부하를 어느정도 해소할수 있습니다. 하지만 INSERT, UPDATE는 조금 느려질수 있으니 참고하시기 바래요~

 

이해를 돕기위해 1~100까지 데이터가 있는데 순서데로 정렬이 되어 있다면 50이라는 데이터를 찾기 쉽겠죠. 하지만 정렬이 되어있지 않다면 1~100까지를 다 뒤져서 50를 찾아내야 합니다.

 

이처럼 데이터를 인덱스(INDEX)를 한다는 의미는 데이터를 정렬시킨다는 의미에요.

 

테이블의 인덱스 리스트 

 

클러스터형 인덱스로 바람직한 필드

 

정렬시 클러스터형 인덱스(INDEX)와 비고유 비클러스터형 인덱스(INDEX) 2가지로 나누어 집니다.

 

클러서트형 인덱스(INDEX)는 위에서 설명한 것처럼 숫자는 가나다순, ABC순으로 정렬되어 있는 Null을 허용하지 않는 고유한 값이라면 클러스터형인덱스를 사용할수 있는데 테이블당 1개만 사용이 가능합니다.

 

나머지는 비클러스터형 인덱스(INDEX)를 사용해야 하는데 Select 문이 많은 필드라면 사용해주는게 좋겠죠.

 

MSSQL 인덱스(INDEX) 지정하는 창

 

처음 DB를 생성할때 primary key로 설정하면 자동으로 INDEX가 설정됩니다.

 

마지막으로 인덱스가 정의된 테이블을 찾는 방법은 다음과 같아요.

Select * from sys.Indexes;

 

이상으로 인덱스(INDEX)에 대해 알아보았습니다. 

반응형


댓글()