Skip to content

인덱스 #
Find similar titles

인덱스 정의(INDEX) #

  • 인덱스는 일반 테이블이나 클러스터에서 쓰여지는 선택적인 객체로서, 오라클 데이터 베이스 테이블 내의 원하는 레코드를 빠르게 찾아갈 수 있도록 만들어진 데이터 구조이다.
  • 테이블 열에 하나씩 대응되는 별도의 객체(Object)이다.
  • Oracle Server가 포인터를 이용하여 열을 반환하는 데에 속도를 올리기 위해 사용한다.
  • 언제든지 생성하거나 삭제 가능하며 테이블이나 다른 인덱스에 영향을 주지 않는다.

인덱스 사용 시 #

  • 컬럼이 넓은 범위의 값을 포함할 때 사용된다.
  • 컬럼이 많은 수의 null값을 포함할 때 사용된다.
  • 하나 이상의 컬럼들이 WHERE 절이나 JOIN CONDITION에서 빈번하게 사용될 때 사용된다.
  • 테이블이 크고, 대부분의 쿼리들이 전체 열의 2~4% 이하의 열을 반환할 것으로 예상될 때 사용된다.

인덱스 비 사용 시 #

  • 테이블이 작을 때 사용된다.
  • 쿼리에서 컬럼들이 조건으로 자주 사용되지 않을 때 사용된다.
  • 테이블의 전체 열에서 2~4% 이상의 열을 반환할 것으로 예상될 때 사용된다.
  • 테이블이 빈번하게 갱신될 때 사용된다.
  • 인덱스된 컬럼들이 표현식의 일부로 참조될 때 사용된다.

인덱스 생성방법 #

  • 자동생성 : unique index는 테이블 정의에서 PRIMARY KEY나 UNIQUE 제약을 정의할 때에 자동적으로 생성된다.

  • 수동생성 : 사용자는 열에 대한 접근 속도를 올리기 위해 컬럼들에 대해 nonunique indexes를 생성할 수 있다. 수동으로 unique index를 생성할 수 있지만 unique constraint를 생성하여 암묵적으로 unique index가 생성되도록 하는 것이 권장된다.

인덱스의 유형 #

인덱스 사용방법 #

인덱스 생성 #

# CREATE [UNIQUE] INDEX 인덱스명 ON 테이블명(컬럼1[ASC|DESC][ 컬럼2[ASC|DESC]..]);

인덱스 삭제 #

# DROP INDEX 인덱스명;

Incoming Links #

Related DataScience #

Suggested Pages #

0.0.1_20140628_0