Operating System/ORACLE

[ORACLE] 인덱스(INDEX)

Growing DBA 2022. 2. 25. 16:11
728x90
반응형

* 인덱스(INDEX)

-> 인덱스는 스키마 오브젝트중 하나이다.
-> 인덱스는 어떤 사용자가 생성했는냐에 따라 해당 인덱스에 대한 스키마가 정해진다.
-> 임의의 쿼리를 실행할 때 테이블 스캔을 하지 않고 Rowid를 사용하여 원하는 로우 데이터를 찾아온다.
-> 디스크 I/O를 감소시킴으로써 보다 빠른 검색이 가능하다.
-> 오라클 서버에 의하여 관리된다.
-> 인덱스는 자동적으로 생성 가능하다.
-> 임의의 컬럼에 Primary key 또는 Unique key 제한 조건을 설정하는 동시에 해당 컬럼에는 인덱스가 자동적으로 생성된다.
-> 인덱스는 인위적으로 생성 가능하다. 

* 인덱스 기본 형식 

CREATE INDEX index name ON table name (column name[ ,column name]....);

* 인덱스가 제대로 역할을 하기 위한 조건

-> 테이블에 저장된 로우가 많은 경우
-> 자주 쿼리되는 로우 데이터가 전체 로우의 5% 미만인 경우
-> 특정 컬럼이 테이블 조인 시 자주 사용되는 경우
-> 특정 컬럼이 NULL 값을 많이 가지고 있는 경우
-> 특정 컬럼이 여러 가지 다른 값들을 많이 가지는 경우 ( High cardinality )

 

728x90
반응형