안녕하세요.
MSSQL SERVER 2012 환경 Local DB에서 DBCC IND Command를 통해 이것저것 확인 중에...
궁금한 점이 있어 글을 올립니다.
NonClustered Index는 데이터 건수에 상관없이 바로 Page Type 이 2에 해당하는 Index Page가 바로 생성되지만,
Clustered Index 는 데이터 량이 어느정도 되어야만 Page Type 2에 해당하는 Index Page가 생성되던데..
특별한 이유라던가 정책이 있는건가요~?
한말씀 혹은, 관련된 Link라도 있으면 부탁드립니다.
Comment 2
-
dontcryme
2014.12.08 13:42
안녕하세요.소중한 답변 감사합니다.
너무 복잡하게 생각한 것 같습니다.
말씀 하신 경우가 맞을 것 같네요~
NonClustered Index는 데이터 페이지와는 별개로 인덱스를 만들라는 것이기 때문에 데이터 건수와 상관없이 인덱스 페이지가 생성됩니다.
(데이터가 없을때는..... 모르겠네요)
Clustered Index를 만들라는 것은 인덱스를 만들라는 의미도 있지만 Heap구조의 테이블을 B-Tree구조의 테이블로 바꾸라는 명령입니다.
SQL Server에서 B-Tree구조의 테이블은 리프레벨에 데이터가 존재하고 넌리프레벨에 인덱스가 존재하는 구조입니다.
즉 페이지가 하나밖에 없을때는 굳이 별도의 인덱스 페이지가 필요없습니다.(라고 예상해봅니다.)
여러 페이지에 대한 Map이 필요할때 비로서 별도의 인덱스 페이지가 생기는것 아닐까요??
자세한 내용은 다음분께 Pass!!