| 
  | 
인덱스(INDEX) |    | 
 | 
 | 
| 1. 인덱스 생성  | 
 | 
| CREATE INDEX 구문을 이용하여 지정한 테이블에 인덱스를 생성한다.  | 
 | 
| 1) 구문  | 
| 
 CREATE [ REVERSE ] [ UNIQUE ] INDEX [ index_name ] ON table_name ( attr_name [ASC | DESC] [ {, attr_name  [ASC | DESC]} ...] ) [ ; ]  | 
 | 
  REVERSE : 역순으로 인덱스를 생성한다. 역순 인덱스는 내림차순 정렬 연산 속도를 향상시킨다.  | 
 | 
  UNIQUE : 유일한 값을 갖는 고유 인덱스를 생성한다.  | 
 | 
  index_name : 인덱스를 생성할 테이블의 이름을 명시한다.  | 
 | 
  table_name : 인덱스를 생성할 테이블의 이름을 명시한다.  | 
 | 
  attr_name : 인덱스를 적용할 컬럼의 이름을 명시한다. 복합 인덱스를 생성할 경우 둘 이상의 컬럼 이름을 명시한다.  | 
 | 
  ASC | DESC : 컬럼의 정렬 방향을 설정한다. REVERSE 인덱스인 경우 ASC는 무시되고 DESC로 처리된다.  | 
 | 
| 2) 예제  | 
 | 
  다음은 단일 속성 인덱스를 생성하는 예제이다.  | 
| 
 CREATE INDEX ON game(medal); CREATE INDEX game_date_idx ON game(game_date);   |    | 
 | 
  다음은 역순 인덱스를 생성하는 예제이다.  | 
| 
 CREATE REVERSE INDEX gold_index ON participant(gold);   |    | 
 | 
  다음은 다중 속성 인덱스를 생성하는 예제이다.  | 
| 
 CREATE INDEX name_nation_idx ON athlete(name, nation_code);   |    | 
 | 
| 2. 인덱스 삭제  | 
 | 
| DROP INDEX 문을 사용하여 인덱스를 삭제할 수 있다. 삭제할 인덱스를 지정하는 방법에는 다음과 같은 두 가지 방법이 있다.  | 
 | 
  인덱스 이름으로 지정하는 방법  | 
 | 
  인덱스가 지정된 테이블 이름과 컬럼 이름으로 지정하는 방법  | 
 | 
| 1) 구문  | 
| 
 DROP [ REVERSE ] [ UNIQUE ] INDEX index_name [ON table_name ( attr_name [ {, attr_name } ...) ] [ ; ]
  DROP [ REVERSE ] [ UNIQUE ] INDEX  ON table_name ( attr_name [ {, attr_name } ...) [ ;]   | 
 | 
  REVERSE : 삭제하려는 인덱스가 역순 인덱스임을 지정한다.  | 
 | 
  UNIQUE : 삭제하여는 인덱스가 고유 인덱스임을 지정한다.  | 
 | 
  index_name : 삭제할 인덱스의 이름을 지정한다.  | 
 | 
  table_name : 삭제할 인덱스가 지정된 테이블 이름을 지정한다.  | 
 | 
  attr_name : 삭제할 인덱스가 지정된 컬럼 이름을 지정한다.  | 
 | 
| 2) 예제  | 
 | 
  다음은 인덱스를 삭제하는 여러 가지 방법을 보여주는 예제이다.  | 
| 
 DROP INDEX ON game(medal);
  DROP INDEX game_date_idx;
  DROP REVERSE INDEX gold_index ON participant(gold);
  DROP INDEX name_nation_idx ON athlete(name, nation_code);   |    | 
 | 
| 3. 인덱스 변경  | 
 | 
| ALTER INDEX 문을 사용하여 인덱스를 재생성 한다. (즉, 인덱스를 삭제하고 다시 생성한다.) 재생성 할 인덱스를 지정하는 방법에는 두 가지가 있다.  | 
 | 
  인덱스 이름으로 지정하는 방법  | 
 | 
  인덱스가 지정된 테이블 이름과 컬럼 이름으로 지정하는 방법  | 
 | 
| 1) 구문  | 
| 
 ALTER [ REVERSE ] [ UNIQUE ] INDEX index_name [ON{ ONLY } table_name ( attr_name [ {, attr_name } ...) ] REBUILD [ ; ]
  ALTER [ REVERSE ] [ UNIQUE ] INDEX ON { ONLY } table_name ( attr_name [ {, attr_name } ...) REBUILD [ ; ]   | 
 | 
  REVERSE : 역순으로 인덱스를 생성한다. 역순 인덱스는 내림차순 정렬 연산 속도를 향상시킨다.  | 
 | 
  UNIQUE : 유일한 값을 갖는 고유 인덱스를 생성한다.  | 
 | 
  index_name : 변경하려는 인덱스의 이름을 명시한다. 인덱스 이름은 테이블 안에서 고유한 값이어야 한다.  | 
 | 
  table_name : 인덱스를 생성할 테이블의 이름을 명시한다.  | 
 | 
  attr_name : 인덱스를 적용할 컬럼의 이름을 명시한다. 복합 인덱스를 생성할 경우 둘 이상의 컬럼 이름을 명시한다  | 
 | 
| 2) 예제  | 
 | 
  다음은 인덱스를 삭제하는 여러 가지 방법을 보여주는 예제이다.  | 
| 
 ALTER INDEX ON game(medal);
  ALTER INDEX game_date_idx;   |    | 
 |