Skip to content

14. CREATE INDEX


1. CREATE INDEX Statement

  • CREATE INDEX 문은 테이블에 인덱스를 생성하는 데 사용된다.
  • 인덱스는 다른 방법보다 더 빠르게 데이터베이스에서 데이터를 검색하는 데 사용된다.
  • 사용자는 인덱스를 볼 수 없으며 검색/쿼리 속도를 높이는 데만 사용된다.
  • 참고로 인덱스도 업데이트가 필요하기 때문에 인덱스가 있는 테이블을 업데이트하는 것은 인덱스가 없는 테이블을 업데이트하는 것보다 시간이 더 걸린다.
  • 따라서 자주 검색되는 열에만 인덱스를 만든다.


2. Syntax

1) CREATE INDEX

  • 테이블에 중복 값이 허용되는 인덱스를 생성한다.


CREATE INDEX index_name
ON table_name (column1, column2, ...);


2) CREATE UNIQUE INDEX

  • 테이블에 중복 값이 허용되지 않는 고유한 인덱스를 생성한다.


CREATE UNIQUE INDEX index_name
ON table_name (column1, column2, ...);


3. CREATE INDEX Example

  • 다음은 Persons 테이블의 LastName 열에 idx_lastname이라는 인덱스를 생성한다.


CREATE INDEX idx_lastname
ON Persons (LastName);


  • 열 조합에 대한 인덱스를 생성하고 싶은 경우 ,(쉼표)로 구분하여 ()(괄호) 안에 열 이름을 나열할 수 있다.


CREATE INDEX idx_pname
ON Persons (LastName, FirstName);


4. DROP INDEX Statement

  • DROP INDEX 문은 테이블의 인덱스를 삭제하는 데 사용된다.


1) MS Access

DROP INDEX index_name ON table_name;


2) SQL Server

DROP INDEX table_name.index_name;


3) DB2 / Oracle

DROP INDEX index_name;


4) MySQL

ALTER TABLE table_name
DROP INDEX index_name;

References