전문가를 위한 오라클 데이터베이스 아키텍처 (2014년)
힙 구조 테이블 0 0 84,004

by 구루비스터디 테이블 table DBMS_METADATA [2018.09.27]


힙 구조 테이블

힙 구조 테이블 (Heap Organized Table)
  • 기본
  • 큰 영역의 공간을 임의의 방식으로 관리
  • 데이터를 특정 순서로 정렬하여 저장하지 않고, 가장 적절한 장소에 저장
  • 입력 순서대로의 정렬을 원한다면
    • Sequance 나 Sysdate, Systimestamp 를 함께 입력해야 함
    • 정렬구문이 반드시 있어야 함


CREATE TABLE 옵션 확인
  • 최대한 간단한 구문으로 테이블 생성
  • dbms_metadata 패키지를 이용하여 장황한 옵션 구문 확인

SQL> CREATE TABLE t(x INT PRIMARY KEY, y DATE, z CLOB);

테이블이 생성되었습니다.

SQL> SELECT dbms_metadata.get_ddl('TABLE', 'T') FROM dual;

DBMS_METADATA.GET_DDL('TABLE','T')
--------------------------------------------------------------------------------

  CREATE TABLE "SCOTT"."T"
   (    "X" NUMBER(*,0),
        "Y" DATE,
        "Z" CLOB,
         PRIMARY KEY ("X")
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 NOCOMPRESS LOGGING
  TABLESPACE "USERS"  ENABLE
   ) SEGMENT CREATION DEFERRED
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
  TABLESPACE "USERS"
 LOB ("Z") STORE AS BASICFILE (
  TABLESPACE "USERS" ENABLE STORAGE IN ROW CHUNK 8192 RETENTION
  NOCACHE LOGGING )


힙 구조 테이블에서 중요하고 의미있는 5가지 파라미터
파라미터MSSMASSM내용
FREELISTOX다수의 동시 사용자가 대량의 데이터를 삽입하는 환경이라면,
두 개 이상의 FREELIST를 설정하는 것이 유리
PCTFREEOOINSERT 수행을 할 때 블록을 얼마나 채울 것인지를 의미한다.
UPDATE에 의해 일어나는 로우이전을 결정하게 되므로 테이블을 어떻게 사용할 것인지에 따라 설정하여야 한다.
PCTUSEDOXPCTUSED보다 적은 공간이 사용된 블록은 새로운 로우들이 삽입될 수 있는 후보가 될 수 있다.
PCTFREE와 마찬가지로 테이블이 어떻게 사용될지를 고려하여 이 옵션을 적절히 설정해야 한다.
INITRANSOO블록에 기본적으로 할당된 트랜잭션 슬롯의 개수다. 기본값은 2다.
동일한 블록을 동시에 갱신하는 트랜잭션이 많은경우라면, 이 값을 증가시켜야만 한다
COMPRESS
NOCOMPRESS
OO9i R2 부터 직접 경로 수행인 경우에만 이 옵션을 적용 가능
11g R1 부터는 COMPRESS FOR OLTP, COMPRESS BASIC 이 더해졌다


LOB 세그먼트는 PCTFREE/PCTUSED 에 영향을 받지 않는다.
  • 항상 용량에 맞게 채워진후 완전히 비워졌을 때만 FREELIST 의 가용공간으로 반환된다.
"데이터베이스 스터디모임" 에서 2014년에 "전문가를 위한 오라클 데이터베이스 아키텍처 " 도서를 스터디하면서 정리한 내용 입니다.

- 강좌 URL : http://www.gurubee.net/lecture/4033

- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^

- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입