Language/SQL
[SQL] 인덱스 (Index) 란?
ye_ju
2022. 10. 24. 11:45
인덱스 (Index) 란?
- 데이터를 검색할 때 좀 더 빠르게 검색하기 위해 사용
- 인덱스는 SQL Server Performance 튜닝에 있어서 가장 기본적인 것
- 돈 안들이고 성능을 향상 시키는 방법.
인덱스의 단점
- 인덱스를 만드는데 많은 시간 소요
- 많은 공간이 필요
- 데이터를 수정(INSERT, DELECT, UPDATE)할 때 마다 인덱스도 변경되야 하므로 시간이 오래 걸림(특히, INSERT 작업의 경우 다른 작업보다 더 많은 시간 소요)
인덱스(Index) 생성 방법
CREATE [UNIQUE] [CLUSTERED | NONCLUSTERED] INDEX [인덱스명]
ON [테이블명]([컬럼명])
생성된 인덱스 확인 방법
sp_helpindex [테이블명]
인덱스(Index) 생성
- 사전 준비 – (테이블 생성 및 인덱스 확인)
CREATE TABLE hallym(
cust_id CHAR(05) NOT NULL,
cust_name VARCHAR(40) NOT NULL,
phone CHAR(12) NOT NULL,
[address] VARCHAR(40) NULL
)
인덱스(Index) 생성
- 자동 인덱스 생성 – (PRIMARY KEY 설정 및 인덱스 확인)
- 기본으로 Clustered Index로 설정
ALTER TABLE hallym
ADD CONSTRAINT pk_hallym PRIMARY KEY (cust_id)
sp_helpindex hallym
인덱스(Index) 생성
- 지정 인덱스 생성 – (인덱스 설정 및 인덱스 확인)
- 기본으로 Non-Clustered Index로 생성
CREATE INDEX idxl ON hallym(cust_id)
sp_helpindex hallym