Database/Oracle

[Oracle] 오라클 인덱스(Index) 생성 및 삭제

케이티(KT) 2024. 6. 11. 14:47
반응형

Oracle 에는 다양한 종류의 인덱스가 존재한다.

인덱스 종류

- B-트리 인덱스

- 비트맵 인덱스

- 파티션 인덱스

- 함수 인덱스

- 도메인 인덱스

 

위와같은 인덱스 종류들이 존재하며 다음은 가장 많이 사용하는 일반 인덱스(B-트리 인덱스)를 생성하는 방법입니다.

※ 대괄호[]는 생략가능.

CREATE [UNIQUE] INDEX [스키마명.]인덱스명      
         ON [스키마명.]테이블명 (컬럼1 [, 컬럼2, 컬럼3, ...])

 

하나의 테이블에 여러 개의 인덱스를 생성 할 수 있으며, 인덱스는 한개이상의 컬럼으로 만들어야 합니다.

인덱스 생성
단일 인덱스 생성(1개의 컬럼)
CREATE INDEX IDX_TEST01 ON TEST(COL1)

복합 인덱스 생성(2개 이상의 컬럼)
CREATE INDEX IDX_TEST02 ON TEST(COL1, COL2)

INDEX는 한개이상의 컬럼으로 생성할 수 있고, 최대 32개의 컬럼을 지정하여 생성할 수 있다. 2개 이상의 컬럼으로 생성된 인덱스를 복합 인덱스라고 부른다.

 

유니크 인덱스 생성
CREATE UNIQUE INDEX IDX_TEST_UNIQUE ON TEST(COL1, COL2)​

 

인덱스 삭제
DROP INDEX IDX_TEST01

 

인덱스 정렬
오름차순 인덱스
CREATE INDEX IDX_TEST01 ON TEST(COL1 [ASC])

내림차순 인덱스
CREATE INDEX IDX_TEST01 ON TEST(COL1 DESC)

반응형