인덱스 클러스터
인덱스 클러스터의 생성순서
- 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 |