Msg 성장일기

파티션 본문

study_DB/Oracle

파티션

공부하는 어른이 2024. 8. 5. 00:08

테이블을 파티션 함으로써 얻게 되는 장점

  • 특정 혹은 최소한의 파티션만을 스캔함으로써 스캔 범위를 줄이는 효과 
  • 특정 파티션 별로 별도의 백업 및 다양한 관리 작업을 수행할 수 있음

 

다양한 파티셔닝 기법

  1. Range 파티션
    : 파티션을 나누는 기준이 되는 키가 되는 컬럼값의 범위를 기준으로 파티션을 생성하는 방식
     테이블은 논리적으로만 정의되고 실제 테이블 데이터는 각각의 파티션에 나누어 저장됨
     주로 날짜 (년,월,주)를 기준으로 파티션을 나눌 때 사용

    기본적으로 다음 두가지 옵션을 적용하여 Range 파티션을 생성함
    1) Partition by range(컬럼1, 컬럼2...) : 파티션 키 컬럼을 설정하는 옵션
    2) Values less than (컬럼값) : 각 range partition에 포함될 최대값을 설정하는 옵션

    ex) partition by range(sales _date)
                  (partition sales_2013 values less than
                            (to_date ('01-jan-2014' , 'dd-Mon-yyyy')) tablespace sales_2013_tbs ,
                  partition sales_2014 values less than
                            (to_date ('01-jan-2015' , 'dd-Mon-yyyy')) tablespace sales_2014_tbs)

    * 파티션 추가
       - 파티션을 추가하기 전에 추가될 파티션을 물리적으로 저장하게 될 새로운 테이블스페이스를 생성하도록 함


  2. List 파티션
    : 파티션 키(key) 컬럼의 컬럼 값을 기준으로 파티션 테이블을 생성하는 방식

    list 파티션 적용 시 고려해야 할 사항
    - 각각의 Unique한 컬럼 값에 대한 분포가 균등한 경우
    - 파티션 키 컬럼은 단일 컬럼만 적용 가능
    - 대소문자를 구분함
    - 파티션 키 컬럼이 아닌 다른 값이 입력되는 경우 에러가 발생함
    - 파티션 키 컬럼 값은 null 값 또한 명시 가능

    ex)  partition by list (sales _region)
                  (partition sales_SU values ('SU') tablespace sales_SU_tbs,
                  partition sales_KN values ('KN') tablespace sales_KN_tbs)


  3. 인덱스 파티션
    - 아래 그림은 파티션을 고려하는 경우 적용 가능한 인덱스 종류임  
    출처 : http://www.gurubee.net/lecture/1914
    - Global : 테이블 파티션 키와 인덱스 파티션 키가 서로 다름
    - Local : 테이블 파티션 키와 인덱스 파티션 키가 서로 같음, 테이블의 파티션 개수와 인덱스 파티션 개수가 서로 일치
     
    결국, 하나의 인덱스 파티션이 테이블 파티션 하나와 대응되며, 대응되는 인덱스 파티션과 테이블 파티션은 각각 동일한 범위를 갖게 됨

    - Prefixed : 인덱스 파티션 키가 인덱스 첫 번째 컬럼과 같은 경우, 파티션 키가 선두에 있음 (넓은 범위의 스캔수행)
    - Non-prefixed : 인덱스 파티션 키가 첫 번째 컬럼과 다른 경우

    * 임의의 테이블 파티션이 제거되면 해당 테이블에 생성되어 있는 Local 인덱스는 단순히 제거

'study_DB > Oracle' 카테고리의 다른 글

RAC(Real Application Clusters)  (0) 2025.06.10
데이터 백업방식  (0) 2024.08.08
오라클 설치(구축)  (0) 2023.11.27
리두 로그, 아카이브 로그  (0) 2023.09.13
오라클 데이터베이스 디스크 구조  (0) 2023.09.13