TABLE PARTITION (테이블 파티션)
포스트
취소

TABLE PARTITION (테이블 파티션)

해당 포스트는 SQLD를 학습하며 정리한 내용에 대한 포스트입니다.


이론을 학습한 내용을 정리하고 퀴즈, 기출문제 등을 기록하려고 합니다.


🌈 TABLE PARTITION (테이블 파티션)

💻 PARTITION의 기능

파티션은 대용량의 테이블을 여러 개의 데이터 파일에 분리해서 저장한다.

테이블의 데이터가 물리적으로 분리된 데이터 파일에 저장되면 입력, 수정, 삭제, 조회 성능이 향상된다.

파티션은 각각의 파티션 별로 독립적으로 관리될 수 있다.

  • 즉, 파티션 별로 백업하고 복구가 가능하면 파티션 전용 인덱스 생성도 가능하다.

파티션은 Oracle 데이터베이스의 논리적 관리 단위인 테이블 스페이스 간에 이동이 가능하다.

데이터를 조회할 때 데이터의 범위를 줄여서 성능을 향상시킨다.


💻 RANGE PARTITION

Range Partition은 테이블의 컬럼 중에서 값의 범위를 기준으로 여러 개의 파티션으로 데이터를 나누어 저장하는 것이다.

RANGE PARTITION

  • 위의 예에서는 SAL 값 2000〜4000은 Dataülel.dbf 파일에 저장하고 SAL 값 5000〜7000의 값은 Datafile2.dbf에 저장한다.

테이블 스페이스

데이터베이스 오브젝트 내 실제 데이터를 저장하는 공간이다.

이것은 데이터베이스의 물리적인 부분가 논리적인 부분으로 나뉜다.


💻 LIST PARTITION

List Partition은 특정 값을 기준으로 분할하는 방법이다.

LIST PARTITION

  • 위의 예에서 DEPTNO가 10번인 것은 Datafile.dbf에 저장하고 20번인 것은 Datafile2.dbf에 저장한다.


💻 HASH PARTITION

Hash Partition은 데이터베이스 관리 시스템이 내부적으로 해시 함수를 사용해서 데이터를 분할한다.

결과적으로 데이터베이스 관리 시스템이 알아서 분할하고 관리하는 것이다.

HASH PARTITION

  • Hash Partition 이외에도 Composite Partition 있는데, Composite Partition은 여러 개의 파티션 기법을 조합해서 사용하는 것이다.


💻 파티션 인덱스

파티션 인덱스는 4가지 유형의 인덱스를 제공한다.

  • 즉, 파티션 키를 사용해서 인덱스를 만드는 Prefixed Index와 해당 파티션만 사용하는 Local Index 등으로 나누어진다.

Oracle 데이터베이스는 Global Non-Prefixed를 지원하지 않는다.

구분주요 내용
Global Index여러 개의 파티션에서 하나의 인덱스를 사용한다.
Local Index해당 파티션 별로 각자의 인덱스를 사용한다.
Prefixed Index파티션 키와 인덱스 키가 동일하다.
Non Prefixed Index파티션 키와 인덱스 키가 다르다.


🎯 추가 내용

👉


📚 레퍼런스

정미나. (유튜브 선생님에게 배우는) 유선배 SQL개발자(SQLD) 과외노트 / [정미나 저] (2023). Print.

한국데이터산업진흥원. SQL 자격검정 실전문제 : 국가공인 SQL전문가·국가공인 SQL개발자 / 한국데이터산업진흥원 [편] (2020). Print.

SQL 개발자 (SQLD) 자격증 따기 Part.3 / [유용한IT학습]

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.