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 구문을 이용하여 지정한 테이블에 인덱스를 생성한다. 인덱스 이름 작성 원칙은 식별자를 참고한다.
USING INDEX, 내림차순 인덱스, 커버링 인덱스, 인덱스 스킵 스캔, ORDER BY 최적화, GROUP BY 최적화 등 SELECT 문에서 인덱스를 이용하는 방법과 필터링된 인덱스, 함수 인덱스를 생성하는 방법에 대해서는 인덱스 활용을 참고한다.
CREATE [ REVERSE ] [ UNIQUE ] INDEX index_name
ON table_name <index_col_desc> [ ; ]
<index_col_desc> ::=
( column_name[(prefix_length)] [ASC | DESC] [ {, column_name[(prefix_length)] [ASC | DESC]} ...] ) [ WHERE <filter_predicate> ]
| (function_name (argument_list) )
참고 CUBRID 9.0 미만 버전에서는 인덱스 이름을 생략할 수 있었으나, CUBRID 9.0 버전부터는 인덱스 이름을 생략할 수 없다.
다음은 역순 인덱스를 생성하는 예제이다.
CREATE REVERSE INDEX gold_index ON participant(gold);
다음은 다중 칼럼 인덱스를 생성하는 예제이다.
CREATE INDEX name_nation_idx ON athlete(name, nation_code);
다음은 단일 칼럼 인덱스를 생성하는 예제이다. 문자열 타입으로 정의한 nation_code 칼럼에 대해서 1바이트 길이만큼 prefix를 지정하여 인덱스를 생성한다.
CREATE INDEX idx_game_nation_code ON game(nation_code(1));