Open Source RDBMS - Seamless, Scalable, Stable and Free

한국어 | Login |Register

Versions available for this page: CUBRID 8.2.1 |  CUBRID 8.3.0 |  CUBRID 8.3.1 |  CUBRID 8.4.0 |  CUBRID 8.4.1 |  CUBRID 8.4.3 |  CUBRID 9.0.0 | 



CREATE INDEX

설명

CREATE INDEX 구문을 이용하여 지정한 테이블에 인덱스를 생성한다.

구문

CREATE [ REVERSE ] [ UNIQUE ] INDEX [ index_name ]

ON table_name ( column_name[(prefix_length)] [ASC | DESC] [ {, column_name[(prefix_length)] [ASC | DESC]} ...] ) [ ; ]

  • REVERSE : 역순으로 인덱스를 생성한다. 역순 인덱스는 내림차순 정렬 연산 속도를 향상시킨다.
  • UNIQUE : 유일한 값을 갖는 고유 인덱스를 생성한다.
  • index_name : 생성하려는 인덱스의 이름을 명시한다. 인덱스 이름은 테이블 안에서 고유한 값이어야 한다. 생략하면 자동으로 부여된다.
  • prefix_length : 문자열 또는 비트열 타입의 컬럼에 인덱스를 설정하는 경우, 컬럼 값의 앞 부분 일부를 prefix로 지정하여 인덱스를 생성하기 위하여 컬럼 이름 뒤 괄호 안에 바이트 단위로 prefix 길이를 지정할 수 있다. 단, prefix_length는 다중 컬럼 인덱스 및 UNIQUE 인덱스에는 지정할 수 없다. 또한 prefix_length를 호스트 변수로 지정하여 인덱스를 생성할 수 없다. prefix_length가 지정된 인덱스에서 질의 결과의 순서를 보장하려면 반드시 ORDER BY 절을 명시해야 한다.
  • table_name : 인덱스를 생성할 테이블의 이름을 명시한다.
  • column_name : 인덱스를 적용할 컬럼의 이름을 명시한다. 다중 컬럼 인덱스를 생성할 경우 둘 이상의 컬럼 이름을 명시한다.
  • ASC | DESC : 컬럼의 정렬 방향을 설정한다. REVERSE 인덱스인 경우 ASC는 무시되고 DESC로 처리된다.  
예제 1

다음은 역순 인덱스를 생성하는 예제이다.

CREATE REVERSE INDEX gold_index ON participant(gold);

예제 2

다음은 다중 컬럼 인덱스를 생성하는 예제이다.

CREATE INDEX name_nation_idx ON athlete(name, nation_code);

예제 3

다음은 단일 컬럼 인덱스를 생성하는 예제이다. 문자열 타입으로 정의한 nation_code 컬럼에 대해서 1바이트 길이만큼 prefix를 지정하여 인덱스를 생성한다.

CREATE INDEX ON game(nation_code(1));

CREATE INDEX game_date_idx ON game(game_date);