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 | 

ALTER INDEX

설명

ALTER INDEX 문을 사용하여 인덱스를 재생성한다. 즉, 인덱스를 삭제하고 다시 생성한다. ON 절 뒤에 테이블 이름과 칼럼 이름이 추가되면 해당 테이블 이름과 칼럼 이름으로 인덱스를 재생성한다.

구문

ALTER [ REVERSE ] [ UNIQUE ] INDEX index_name

ON { ONLY } table_name <index_col_desc> REBUILD [ ; ]

 

<index_col_desc> ::=

    ( column_name[ {, column_name} ...] ) [ WHERE <filter_predicate> ]

    | (function_name (argument_list) )

  • REVERSE : 역순으로 인덱스를 생성한다. 역순 인덱스는 내림차순 정렬 연산 속도를 향상시킨다.
  • UNIQUE : 유일한 값을 갖는 고유 인덱스를 생성한다.
  • index_name : 재생성하려는 인덱스의 이름을 명시한다. 인덱스 이름은 테이블 안에서 고유한 값이어야 한다.
  • table_name : 인덱스를 재생성할 테이블의 이름을 명시한다.
  • column_name : 인덱스를 적용할 칼럼의 이름을 명시한다. 다중 칼럼 인덱스를 생성할 경우 둘 이상의 칼럼 이름을 명시한다.
  • <filter_predicate> : 필터링된 인덱스를 만드는 조건을 명시한다. 칼럼과 상수 간 비교 조건이 여러 개인 경우 AND로 연결된 경우에만 필터가 될 수 있다.
  • function_name (argument_list) : 함수 기반 인덱스를 만드는 조건을 명시한다.

참고 CUBRID 9.0 미만 버전에서는 인덱스 이름을 생략할 수 있었으나, CUBRID 9.0 버전부터는 인덱스 이름을 생략할 수 없다.

예제

다음은 인덱스를 재생성하는 여러 가지 방법을 보여주는 예제이다.

ALTER INDEX i_game_medal ON game(medal) REBUILD;

ALTER INDEX game_date_idx REBUILD;

ALTER INDEX char_idx ON athlete(gender, nation_code) WHERE gender='M' AND nation_code='USA' REBUILD;