Clean Code that Works.

산소나무님 블로그에서 펌.

http://o2tree.tistory.com/16?srchid=BR1http%3A%2F%2Fo2tree.tistory.com%2F16


이스트소프트 필기시험에 나왔던 것.

이렇게 보고 나니.. 책에서 봤던거 같다 -_-..

젝일 답은 대충 찍어서 분산환경 어쩌구 써놨는데.. 아 창피해 -_ㅠ

클러스터 인덱스(Clustered Index)

테이블에 있는 데이터가 물리적으로 저장되어야 하는 순서를 나타내며, B-Tree구조를 가지고 있다(B-Tree 구조는 리프노드(Leaf Node)에 실제 데이터가 존재한다).

테이블에 PK를 생성할 경우 클러스터 인덱스가 없고 PK를 위한 인덱스가 넌클러스터 인덱스라고 명시적으로 하지 않으면 SQL Server가 알아서 PK에 클러스트 인덱스를 작성한다.

PK는 Null을 가질수 없으며, Unique는 하나의 Null값을 가질 수 있다.
보통 일치하는 값을 찾는데 PK가 사용되고 그 이외의 컬럼에 범위검색이 자주 사용된다면 PK에 넌클러스터 인덱스를 사용한다.



넌클러스터 인덱스(Non-Clustered Index)

B- 트리구조의 리프노드(Leaf Node)에는 인덱스 데이터와 행의 정확한 위치를 가리키는 정보 (row-locator)를 갖는데, 클러스터인덱스가 있는 경우에는 그 클러스터인덱스의 키값이 그렇지 않는 경우에는 RowID(파일ID, 페이지 번호, 페이지 내의 행번호)를 갖는다.



풀텍스트 인덱스 Full-Text Index

카탈로그와 같은 것으로 MS Search Service 의 일부분이며, 주로 웹 색엔진등에 사용이 되고 있다.
char, varchar 컬럼에만 생성 가능 / 테이블에 하나만 생성 가능 / B-트리  인덱스와 달리 자동으로 갱신되지 않는다 / 단어 또는 구(Phrases)검색 / 단일 단어 또는 단어의 그룹에 대한 검색 / 유사한 단어 검색