[Oracle] 오라클 파티션 테이블 사용법 (생성, 조회, 수정, 삭제)
- DB/Oracle
- 2019. 11. 11.
파티션 테이블이란?
파티션이란 테이블에 있는 특정 컬럼값을 기준으로 데이터를 분할해 저장해놓은 테이블입니다. 이때 논리적인 테이블은 1개이지만 물리적으로는 분할한 만큼 파티션이 만들어져 입력되는 컬럼 값에 따라 분할된 파티션별로 데이터가 저장됩니다. 파티션 테이블을 만드는 목적은 대용량 테이블의 경우 데이터 조회 시 효율성과 성능을 높이기 위한 것입니다.
파티션 테이블 만들기 예제
create table SALES (
sales_no number,
sale_year number,
sale_month number,
sale_day number,
customer_name varchar2(30),
birth_date date,
price number,
state varchar2(2)
)
partition by hash (birth_date)
subpartition by hash (sales_no) subpartition template
(
subpartition S1,
subpartition S2,
subpartition S3,
subpartition S4
)
(
partition SALES_P1,
partition SALES_P2,
partition SALES_P3,
partition SALES_P4
);
위 스크립트에서는 birth_date 컬럼을 파티션키로 하는 Hash 파티션을 메인 파티션으로 만들고, 그 파티션들을 다시 sales_no 컬럼을 서브파티션키로 하는 Hash 서브파티션으로 만들어 복합파티션을 구성하였습니다. 서브파티션을 만들지 않고 그냥 파티션만 만들고싶다면 subpartition 부분만 빼주시면 됩니다.
파티션 테이블 조회
--문법
SELECT * FROM [테이블명] PARTITION ([파티션명])
--예제
SELECT * FROM SALES PARTITION (SALES_P1);
파티션 테이블을 만들었으면 위와같이 써먹어야 만든 보람이 있겠죠.?? 조회는 위와같이 하시면 됩니다.
파티션 테이블 데이터 변경
--파티션 테이블 UPDATE
UPDATE 테이블명 PARTITION (파티션명)
SET
컬럼1 = 변경값
컬럼2 = 변경값
....
WHERE
조건문;
파티션 테이블 데이터 삭제
--파티션 DELETE문
DELETE FROM 테이블명 PARTITION (파티션명)
WHERE
조건;
기타 파티션 관련 조회 쿼리
--전체 테이블 파티션 조회
SELECT * FROM ALL_TAB_PARTITIONS
--접속계정 테이블 파티션 조회
SELECT * FROM USER_TAB_PARTITIONS
--파티션 테이블 키 컬럼 조회
SELECT * FROM ALL_PART_KEY_COLUMNS WHERE NAME = 'SALES';
--파티션명 조회
SELECT * FROM ALL_TAB_PARTITIONS WHERE TABLE_NAME = 'SALES'
'DB > Oracle' 카테고리의 다른 글
[Oracle] 오라클 INSERT문(삽입) 사용법 & 예제 (3) | 2019.11.13 |
---|---|
[Oracle] 오라클 SELECT문(조회) 사용법 & 예제 (0) | 2019.11.12 |
[Oracle] 오라클 시노님(Synonym) 사용법 총정리 (생성, 조회, 권한, 삭제) (2) | 2019.11.10 |
[Oracle] 오라클 시퀀스(Sequence) 사용법 총정리 (생성, 조회, 수정, 삭제)등 (2) | 2019.11.07 |