정보과학 IT

인덱스 클러스터

물곰탱이 2013. 11. 14. 10:47

인덱스 클러스터

 

인덱스 클러스터의 생성순서

  • 1. 클러스터를 생성한다.
  • 2. 클러스터 인덱스를 생성한다.
  • 3. 클러스터 테이블들을 생성한다.

 

클러스터 생성

 

문법

  • - cluster : 클러스터 이름
  • - column : 키 열 이름
  • - data type : 키 열의 데이터 유형과 크기
  • - TABLESPACE : 클러스터를 저장할 테이블스페이스 지정
  • - SIZE : 클러스터 키의 최대 값, 킬로바이트, 또는 메가바이트 단위로 지정
  • - INITRANS : 각 블록에 미리 할당된 트랜잭션 엔트리의 수를 지정(기본값은 최소값인 2)
  • - MAXTRANS : 각 블록에 할당될 수 있는 트랜잭션 엔트리의 수를 제한.

 

예제
 
-- 클러스터 키가 deptno인 클러스터를 생성 예제.
SQL> CREATE CLUSTER emp_cluster (deptno NUMBER(3))
     TABLESPACE users;    
    

 

클러스터 인덱스 생성

  클러스터 인덱스의 생성은 일반 인덱스 생성과 크게 다르지 않으며 CREATE INDEX뒤에 ON CLUSTER옵션을 붙여서 클러스터 인덱스 임을 명시 합니다.

  클러스터 인덱스도 일반 인덱스 생성과 같이 PCTUSED를 사용 할 수 없습니다.

 

문법

  • - index : 인덱스 이름
  • - cluster : 클러스터 이름

 

예제
 
SQL> CREATE INDEX emp_cluster_idx    -- 인덱스명 지정
     ON CLUSTER emp_cluster          -- 클러스터명 지정
     TABLESPACE users;  
    

 

클러스터 테이블 생성

  클러스터 테이블의 생성은 일반 테이블 생성방법과 같으며 뒤에 사용할 클러스터 명을 명시해 주면 됩니다.

 

문법

 

예제

  컬럼을 공유하는 두 테이블 사이의 컬럼에 클러스터를 지정 합니다.

  이렇게 생성된 dept_cls테이블과 emp_cls테이블의 데이터는 같은 블록에 저장되게 됩니다.

 
SQL> CREATE TABLE dept_cls (
        DEPTNO    NUMBER(3) primary key,
        DNAME     VARCHAR2(14),
        LOC       VARCHAR2(13))
        CLUSTER emp_cluster (deptno);  -- 클러스터 명 지정 
테이블이 생성되었습니다.
SQL> CREATE TABLE emp_cls (
        EMPNO     NUMBER(5) PRIMARY KEY,
        ENAME     VARCHAR2(10),
        JOB       VARCHAR2(9),
        MGR       NUMBER(4),
        HIREDATE  DATE,
        SAL       NUMBER(7,2),
        COMM      NUMBER(7,2),
        DEPTNO    NUMBER(3))
        CLUSTER emp_cluster (deptno); -- 클러스터 명 지정 
테이블이 생성되었습니다.
    

 

http://www.oracleclub.com/lecture/1116

 

'정보과학 IT' 카테고리의 다른 글

(Oracle) Subquery Example  (0) 2013.11.15
자바스크립트(JavaScript)  (0) 2013.11.15
스키마(Schema)  (0) 2013.11.14
온톨로지(Ontology)  (0) 2013.11.13
Equiv-Join 과 Outer-Join  (0) 2013.11.12