테이블과 인덱스가 일체형으로 되어 있다는 것은 인덱스와 다른 일반 컬럼들이 모두 같은 위치에 저장된는 형태를 말한다
일체형 테이블은 분리형 테이블과 달리 인덱스와 테이블간의 랜덤액세스가 없다
구분 | Ordinary | Index-Organized Table |
로우의 유일 식별자 | ROWID | 기본키 |
기본키 미지정 | 허용 | 허용하지 않음(반드시 기본키가 존재해야함) |
Secondary인덱스의 생성 | ROWID사용 | 논리적 ROWID나 비트맵 인덱스 |
로우 액세스 | ROWID로 액세스 | 기본키로 액세스 |
전체테이블 스캔 | 임의의 순서로 로우를 리턴함 | 기본키의 순서로 로우를 리턴함 |
클러스터링 가능여부 | CLuster에 저장 가능 | Cluster에 저장이 불가능 |
LONG,LONG RAW,LOB | LONG,LOB중 하나포함 | LOB는 가능하나 LONG은 불가능 |
분산 SQL | 허용 | 버전에 따라 차이가 있음 |
데이터 이중화 | 허용 | 버전에 따라 차이가 있음 |
파티션 적용 | 허용 | 버전에 따라 차이가 있음 |
병렬처리 | 허용 | 버전에 따라 차이가 있음 |
추가적 인덱스가 적용가능한 경우
Secondery Index사용이 빈번하지 않거나 처리범위가 넓지 않은 경우 처럼 부담이 없는 경우 충분히 적용가능..
로우길이에 따라 발생할 수 있는 오버플로우
일체형 구조는 일반컬럼은 모두 보유하고 있기 때문에 길이가 증가할 확률이 매우 크다.
논리적ROWID의 개념
분리형 테이블에서는 인덱스의 분할이 발생하더라도 테이블의 rowid는 변하지 않는데 반해 일체형은 인덱스자신이 테이블이므로 인덱스의 분할에 따라 rowid가 변할 수 있으므로 어떤 키값이 동일한 노드에 지속적으로 저장될 수 없다.
인덱스로우가 생성될 때 만들어져서 키분할에 의해 데이터블록의 위치가 달라져도 변경되지 않는다
CREATE TABLE iottab
(test_id VARCHAR2(5),
title_name VARCHAR2(150),
author VARCHAR2(20),
contents VARCHAR2(2048),
status VARCHAR2(2),
CONSTRAINT pk_testiot PRIMARY KEY (test_id) )
ORGANIZATION INDEX ----①
TABLESPACE tbs_1 ----②
PCTTHRESHOLD 20 ----③
INCLUDING contents ----④
OVERFLOW TABLESPACE indx ----⑤
① ORGANIZATION INDEX : 일체형 테이블 생성을 정의하는 키워드
② TABLESPACE : 인덱스영역이 저장될 테이블 스페이스를 지정한다.STORAGE파라미터사용도 가능하다
③ PCTTHRESHOLD : 인덱스블록 내의 예약된 공간의 비율을 백분율로 지정한다.
단일 로우 크기가 (PCTTHRESHOLD/100)/*DB_BLOCK_SIZE보다 크게 되면 이 범위 이내의 크기 까지 인덱스 영역에 남겨두고 나머지 컬럼들은 모두 OVERFLOW영역으로 이동된다.
OVERFLOW를 지정하지 않았을 경우 데이터 입력이 실패한다.
④ INCLUDING : INCLUDING이후에 선언된 컬럼들은 오버플로우 영역에 저장된다
만약 INCLUDING이 지정되지 않았을때 로우의 크기가 PCTTHRESHOLD를 초과하면 오버플로우 영역에 저장된다
(특이한 점 : INCLUDING절이 적용되는 시점은 처음 로우가 저장될 때만이다. 로우인서트 시 인클루드에 선언된 컬럼을 NULL로 넣고 이후 UPDATE시 선언된 컬럼에 값을 입력하면 PCTTHRESHOLD를 초과하지 않는 한도내에서 인덱스영역에 저장된다.)
⑤ OVERFLOW TABLESPACE : 지정한 PCTTHRESHOLD값을 초과한 로우의 일부가 저장될 테이블스페이스를 지정
- 강좌 URL : http://www.gurubee.net/lecture/2556
- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^
- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.