[Oracle] 오라클 인덱스(Index) 수정 방법 (컬럼 추가, 변경)

오라클에서 인덱스를 수정하기 위해서는 ALTER INDEX 문을 사용하면 된다. ALTER INDEX 문을 사용하여 인덱스명 변경(RENAME), 비활성화(UNUSABLE), 재구축(REBUILD)을 할 수 있다. 그러나 인덱스 컬럼을 변경하기 위해서는 인덱스를 삭제 후 다시 생성하는 방법을 사용해야 한다.

 

인덱스 수정

인덱스 컬럼 추가 및 변경

-- 인덱스 삭제
DROP INDEX emp_ix01;
-- 인덱스 재생성
CREATE INDEX emp_ix01 ON emp(hiredate, job);

 

오라클은 ALTER INDEX 문을 사용해서 인덱스 컬럼을 변경하지 못한다. 인덱스의 컬럼을 추가, 제거 또는 순서를 변경하기 위해서는 인덱스를 삭제(DROP)하고 다시 생성(CREATE) 해야 한다.

 

인덱스명 변경(RENAME)

ALTER INDEX emp_ix01 RENAME TO emp_ix01_new

 

인덱스명 변경은 ALTER INDEX 문을 사용해서 쉽게 변경이 가능하다.

 

ALTER INDEX [스키마명.]인덱스명 RENAME TO 변경인덱스명

 

인덱스 리빌드(REBUILD)

ALTER INDEX emp_ix01 REBUILD

 

인덱스의 속도가 저하되었거나 인덱스가 깨졌을 경우 리빌드를 사용하여 인덱스를 재구축한다.

 

ALTER INDEX [스키마명.]인덱스명 REBUILD [ONLINE] [TABLESPACE 테이블스페이스명]

 

ONLINE: 온라인 상태에서 인덱스 리빌드 진행 (리빌드 중에 테이블 DML 작업 가능, 사용시 주의)

TABLESPACE: 테이블스페이스를 변경 시 사용

 

인덱스 비활성화(UNUSABLE)

ALTER INDEX emp_ix01 UNUSABLE

 

UNUSABLE 절을 사용하여 인덱스를 비활성화 시킨다. UNUSABLE 상태가 되면 인덱스는 사용이 불가능하며 DML 작업이 수행되어도 갱신되지 않는다.

 

인덱스를 다시 활성화 하기 위해서는 "ALTER INDEX emp_ix01 REBUILD"  리빌드를 사용하면 된다.

 

 

[Oracle] 오라클 인덱스(Index) 생성 및 삭제 방법 (Create, Drop)

오라클에서는 다양한 종류의 인덱스를 생성해서 사용할 수 있다. B-트리 인덱스, 비트맵 인덱스, 파티션 인덱스, 함수 인덱스, 도메인 인덱스를 생성할 수 있으며, 아래는 가장 많이 사용하는 B-

gent.tistory.com

 

[오라클] 인덱스 조회 방법 (Index)

오라클(Oracle) 인덱스 조회 쿼리 오라클 쿼리를 작성하기 전에 필수적으로 인덱스(Index)를 확인해야 한다. 인덱스를 무시하고 쿼리를 작성하면 심각한 성능 이슈가 발생 할 수 있다. 인덱스는 오

gent.tistory.com

 

[Oracle] 오라클 인덱스(Index) 힌트 사용방법 (주석, 튜닝)

오라클 버전이 업그레이드 되면서 옵티마이저의 성능도 많이 향상 되어 쿼리를 실행하면 최적의 인덱스를 선택하여 쿼리를 실행한다. 그러나 옵티마이저가 엉뚱한 인덱스를 선택하여 쿼리가

gent.tistory.com

 

[Oracle] 함수 기반 인덱스 생성 방법 (Funtion-Based Index)

오라클 SQL에서는 칼럼에 변형이 생기는 경우 인덱스를 사용하지 못한다. 그러나 함수 기반 인덱스(FBI)를 사용하면 인덱스를 사용하면 칼럼에 함수나 표현식을 사용해도 인덱스를 사용할 수 있

gent.tistory.com

 

댓글

Designed by JB FACTORY