CREATE INDEX
CREATE INDEX문은 테이블에 인덱스를 생성하는 데 사용된다.
INDEX는 다른 방법보다 더 빠르게 데이터베이스에서 데이터를 검색하는 데 사용된다.
사용자는 INDEX를 볼 수 없으며 검색/쿼리 속도를 높이는 데만 사용된다.
⭐ 인덱스가 있는 테이블을 업데이트하는 것은 인덱스가 없는 테이블을 업데이트하는 것보다 인덱스도 업데이트가 필요하기 때문에 시간이 더 걸린다. 따라서 자주 검색되는 열에만 인덱스를 만든다.
구문
인덱스 생성 구문
테이블에 인덱스를 생성한다.
중복 값이 허용된다.
CREATE INDEX index_name ON table_name (column1, column2, ...);
고유 인덱스 생성 구문
테이블에 고유 인덱스를 생성한다.
중복 값은 허용되지 않는다.
CREATE UNIQUE INDEX index_name ON table_name (column1, column2, ...);
⭐ 인덱스 생성 구문은 데이터베이스마다 다르다.
예시
“Persons” 테이블의 “LastName” 열에 “idx_lastname”이라는 인덱스를 생성
CREATE INDEX idx_lastname ON Persons (LastName);
열 조합에 대한 인덱스를 생성하려면 쉼표로 구분하여 괄호 안에 열 이름을 나열할 수 있다.
CREATE INDEX idx_pname ON Persons (LastName, FirstName);
인덱스 삭제
DROP INDEX 문은 테이블의 인덱스를 삭제하는 데 사용된다.
MS Access
DROP INDEX index_name ON table_name;
SQL Server
DROP INDEX table_name.index_name;
DB2/Oracle
DROP INDEX index_name;
MySQL
ALTER TABLE table_name DROP INDEX index_name;
참고
W3C School - SQL CREATE INDEX Statement
W3C School - SQL Tutorial