'Programer Story/DB Stroy'에 해당되는 글 22건

  1. 2007.01.05 CLUSTERED와 NONCLUSTERED의 차이는? by gala
먼저 넌 클러스터는 디비에 자료를 넣으면 넣는 순서대로 실제의
데이터 베이스 안쪽에 차곡차곡 쌓입니다.
이때 데이터는 노트를  채우듯이 페이지안에 적혀집니다.
이때 이 페이지에 대한 목차 페이지를 만드는 것이 색인을 만드는 작업입니다.
요기서 넌클러스터는 책에서 뒷쪽의 찾아보기와 같은 것입니다.

어떤값을 찾으려면 색인을 정신없이 스캔해야 겠죠.

여기에 반해서 클러스터 색인은 같은 형식이지만은 새로운 데이터가 들어오면
색인 규칙에 의해서 자료를 제 위치를 찾아서 넣습니다.
즉 나중에 자료를 찾을때는 책의 처음에 나오는 목차와 같은 효과를 가집니다.
그리고 클러스터 색인은 책의 목차와 같이 중복되는 값이 없습니다. 설령 같은
값이 들어오더라도 4byte의 고유값을 내부적으로 부여해서 중복을 제거합니다.

여기서 검색 속도의 차이를 봅시다.
하나의 특정값을 찾으려고 할 경우 클러스터 색인이 가장 빠르고 넌크러스터 색
인은 그 보다 쬐끔 느립니다. 그러나 여러값 즉 어떤 범위의 값을 찾는 경우 클
러스터색인은 여전이 빠릅니다. 하지만 넌 클러스터 색인은 오히려 테이블 전체
를 뒤지는것 보다 느립니다.

하지만 넌 클러스터가 나쁜것만은 아닙니다. 자료가 페이지 단위로 정리되어 있
을때 자료를 수정했다고 생각합시다. 그러면 넌클러스터는 더 빠르게 작업을 수
행합니다. 당연한 결과인지 모르지만 클러스터는 특정한 위치를 찾아서 바꾸어야
하고 바뀌는 자료가 색인으 순서를 바꾸게 되면 결국 전체 페이지에서 자리 바꿈이
일어 나야 한다는 겁니다
Posted by gala
l