mssql 인덱스생성 문법
CREATE [UNIQUE] [CLUSTERED | NONCLUSTERED] INDEX index_name ON table (column [,...n]) [WITH [PAD_INDEX] [[,] FILLFACTOR = fillfactor] [[,] IGNORE_DUP_KEY] [[,] DROP_EXISTING] [[,] STATISTICS_NORECOMPUTE] ] [ON filegroup]
인덱스 생성
create clustered index ix_kkaok on kkaok(seq) width DROP_EXISTING, FILLFACTOR = 80
kkaok 테이블에서 seq 칼럼에 대해 ix_kkaok라는 클러스터드 인덱스를 생성하라는 명령문이다.
DROP_EXISTING 옵션은 기존에 같은 이름의 인덱스가 존재한다면 삭제하고 생성하라는 의미이며 Fillfactor 값은 명시하지 않으면 기본적으로 100% 페이지에 채워 넣으라는 뜻이다. 지금은 80% 채워 넣고 20% 여유공간을 가지라는 의미이다.
결합 인덱스 생성
create index ix_kkaok2 on kkaok(seq,re_step)
seq와 re_step 두 개의 칼럼에 인덱스를 생성하였다. 각각의 칼럼에 대해 내림차순 정렬과 오름차순 정렬 옵션을 줄 수 있지만 mssql 7.0에서는 내림차순 정렬을 지원하지 않는다.
인덱스 보기
exec sp_helpindex '테이블이름'
인덱스 제거
drop index 'table.index'[,...n]
인덱스 삭제 예제
drop index kkaok.ix_kkaok
제약키의 변경
primary key는 인덱스가 아니고 제약키이다. 따라서 인덱스를 삭제하는 방법으로 삭제 할 수는 없다. 제약키는 다음의 방법으로 삭제 또는 변경 할 수 있다.
제약키 삭제
alter table kkaok drop constraint PK_kkaok
제약키 추가변경
alter table kkaok add constraint PK_kkaok primary key(seq)
반응형
'db > mssql' 카테고리의 다른 글
mssql server 2014, 2016 timezone (0) | 2023.12.26 |
---|---|
MSSQL inet_ntoa, inet_aton (0) | 2012.02.14 |
ms-sql 일반정보 질의 query (0) | 2008.12.29 |
[MSSQL] Identity 자동 증가함수 (0) | 2008.10.16 |
리스트 페이징(6가지) (0) | 2006.10.20 |