Deferred Segment
2024. 9. 12. 17:33ㆍDBMS/ORACLE Admin
반응형
Deferred Segment Creation은 Oracle Database에서 테이블 생성 시 세그먼트를 바로 할당하지 않고, 첫 번째 데이터 삽입(INSERT) 시점에 세그먼트를 할당하는 방식이다. 제어하는 방식은 SEGMENT CREATION IMMEDIATE와 SEGMENT CREATION DEFERRED로 설정할 수 있다.
1. Segment Creation Immediate
- 테이블을 생성하자마자 바로 세그먼트가 할당된다.
- 기본적으로 Oracle Database에서 테이블을 생성할 때, 테이블 구조를 저장하고, 저장할 데이터를 담을 공간(세그먼트)을 즉시 할당한다.
CREATE TABLE table_name ( column1 datatype, column2 datatype ) SEGMENT CREATION IMMEDIATE;
2. Segment Creation Deferred
- 테이블을 생성할 때는 세그먼트가 생성되지 않고, 데이터가 처음 삽입될 때 세그먼트가 할당된다.
- 즉, 빈 테이블이 있는 경우 불필요하게 스토리지를 미리 차지하지 않도록 지연시켜 효율적으로 사용할 수 있게 해준다
CREATE TABLE table_name ( column1 datatype, column2 datatype ) SEGMENT CREATION DEFERRED;
Deferred Segment를 사용하는 이유
- 공간 절약:
- 데이터가 없는 테이블에 대해 세그먼트를 미리 할당하지 않음으로써, 실제 데이터를 저장하기 전까지는 디스크 공간을 차지하지 않게 된다. 특히, 많은 수의 빈 테이블이 있는 경우 유용
- 빠른 테이블 생성:
- 세그먼트를 즉시 할당하지 않기 때문에, 테이블 생성 속도가 더 빠른다. 특히 개발 환경에서 여러 개의 테스트 테이블을 빈번하게 생성하는 경우 유용한다.
- 성능 최적화:
- 테이블을 만들고 데이터를 넣지 않을 경우에는 세그먼트를 할당하지 않기 때문에, 스토리지 할당 및 관리 오버헤드가 줄어든다.
- 대규모 스키마 설계 시 유용:
- 대규모 스키마 설계 시 많은 테이블을 한꺼번에 생성할 때, 모든 테이블에 세그먼트를 미리 할당하면 상당한 스토리지가 필요하게 된다. 이를 방지하고 스토리지를 절약하기 위해 deferred segment를 사용한다.
- 관리 효율성:
- 데이터가 없는 테이블은 세그먼트 관리가 필요하지 않으므로, 테이블과 세그먼트 관리를 쉽게 할 수 있다.
반응형
'DBMS > ORACLE Admin' 카테고리의 다른 글
오라클 인프라 (6) | 2024.10.06 |
---|---|
멀티테넌트 아키텍처 (3) | 2024.09.16 |
Oracle 데이터베이스의 프로세스 구성 요소 (0) | 2024.09.10 |
Oracle Grid Infrastructure (0) | 2024.09.10 |
Oracle 마이그레이션 및 업그레이드 프로젝트에서 일반적으로 따르는 절차 (0) | 2024.09.10 |