>  기사  >  Oracle 테이블 파티셔닝의 역할

Oracle 테이블 파티셔닝의 역할

(*-*)浩
(*-*)浩원래의
2019-09-02 11:55:189922검색

테이블스페이스와 파티션 테이블의 개념

Oracle 테이블 파티셔닝의 역할

테이블스페이스: (권장 학습: 웹 프론트엔드 비디오 튜토리얼)

은 하나 이상의 데이터 파일의 모음입니다. 지정된 테이블스페이스에 객체가 저장되지만 주로 테이블을 저장하므로 테이블스페이스라고 부른다.

파티션 테이블:

테이블의 데이터 양이 계속해서 증가하면 데이터를 쿼리하는 속도가 느려지고, 애플리케이션의 성능이 저하되면 테이블 분할을 고려해야 합니다. 테이블이 분할된 후에도 논리적 테이블은 여전히 ​​완전한 테이블이지만 테이블의 데이터는 물리적으로 여러 테이블스페이스(물리적 파일)에 저장되므로 데이터를 쿼리할 때 매번 전체 테이블을 스캔하지 않습니다. 테이블

테이블 파티셔닝의 구체적인 역할

오라클의 테이블 파티셔닝 기능은 관리 용이성, 성능 및 가용성을 향상시켜 다양한 애플리케이션에 큰 이점을 제공합니다. 일반적으로 파티셔닝은 특정 쿼리 및 유지 관리 작업의 성능을 크게 향상시킬 수 있습니다. 또한 파티셔닝은 일반적인 관리 작업을 크게 단순화할 수 있으며 기가바이트 데이터 시스템 또는 초고가용성 시스템을 구축하는 핵심 도구입니다.

파티셔닝 기능은 테이블, 인덱스 또는 인덱스 구성 테이블을 세그먼트로 더 세분화할 수 있습니다. 이러한 데이터베이스 개체의 세그먼트를 파티션이라고 합니다. 각 파티션에는 고유한 이름이 있으며 고유한 스토리지 특성을 선택할 수 있습니다. 데이터베이스 관리자의 관점에서 분할된 개체에는 여러 세그먼트가 있으며 이러한 세그먼트는 집합적으로 또는 개별적으로 관리될 수 있습니다. 이는 분할된 개체를 관리할 때 데이터베이스 관리자에게 상당한 유연성을 제공합니다. 그러나 애플리케이션 관점에서 볼 때 분할된 테이블은 분할되지 않은 테이블과 동일하므로 SQL DML 명령을 사용하여 분할된 테이블에 액세스할 때 수정이 필요하지 않습니다.

파티션 테이블을 사용해야 하는 경우:

1 테이블 크기가 2GB를 초과합니다.

2. 테이블에는 기록 데이터가 포함되어 있으며 새 데이터가 새 파티션에 추가됩니다.

테이블 분할의 장점과 단점

테이블 분할에는 다음과 같은 장점이 있습니다.

1. 쿼리 성능 향상: 분할된 개체를 쿼리할 때 관심 있는 파티션만 검색할 수 있어 검색 속도가 향상됩니다.

2. 가용성 향상: 테이블의 파티션에 장애가 발생해도 다른 파티션에 있는 테이블의 데이터를 계속 사용할 수 있습니다.

3. 간편한 유지 관리: 테이블의 파티션에 장애가 발생하여 데이터를 복구해야 하는 경우에만 예,

4. 균형 잡힌 I/O: 다양한 파티션을 디스크에 매핑하여 I/O의 균형을 맞추고 전체 시스템 성능을 향상시킬 수 있습니다.

단점:

파티션 테이블 관련: 기존 테이블을 파티션 테이블로 직접 변환할 수 있는 방법이 없습니다. 그러나 Oracle은 테이블의 온라인 재정의 기능을 제공합니다.

(4) 여러 유형의 테이블 파티션 및 작업 방법

범위 파티셔닝:

범위 파티셔닝은 범위를 기준으로 데이터를 각 파티션에 매핑합니다. 이 범위는 파티션을 생성할 때 지정한 파티션 키에 따라 결정됩니다. 이 파티셔닝 방법이 가장 일반적으로 사용되며 파티션 키는 날짜를 사용하는 경우가 많습니다. 예를 들어 판매 데이터를 월별로 분할할 수 있습니다.

범위 파티셔닝을 사용할 때는 다음 규칙을 고려하세요.

1. 각 파티션에는 파티션에 포함되지 않는 상한 값을 지정하는 VALUES LESS THEN 절이 있어야 합니다. 파티션 키 값이 이 상한보다 크거나 같은 레코드는 다음으로 높은 파티션에 추가됩니다.

2. 첫 번째 파티션을 제외한 모든 파티션에는 암시적인 하한 값이 있습니다. 이 값은 이 파티션의 이전 파티션의 상한 값입니다.

3. 최상위 파티션에는 MAXVALUE가 정의됩니다. MAXVALUE는 불확실한 값을 나타냅니다. 이 값은 다른 파티션의 파티션 키 값보다 높으며, null 값을 포함하여 모든 파티션에 지정된 VALUE LESS THEN 값보다 높은 것으로 이해될 수도 있습니다.

예제 1:

200,000개의 데이터 행이 있는 CUSTOMER 테이블이 있다고 가정합니다. 각 파티션은 100,000개의 행을 저장합니다. 데이터 파일은 여러 물리적으로 확장될 수 있습니다. 디스크. 다음은 테이블과 파티션을 생성하는 코드입니다.

CREATE TABLE CUSTOMER 
( 
    CUSTOMER_ID NUMBER NOT NULL PRIMARY KEY, 
    FIRST_NAME  VARCHAR2(30) NOT NULL, 
    LAST_NAME   VARCHAR2(30) NOT NULL, 
    PHONE        VARCHAR2(15) NOT NULL, 
    EMAIL        VARCHAR2(80), 
    STATUS       CHAR(1) 
) 
PARTITION BY RANGE (CUSTOMER_ID) 
( 
    PARTITION CUS_PART1 VALUES LESS THAN (100000) TABLESPACE CUS_TS01, 
    PARTITION CUS_PART2 VALUES LESS THAN (200000) TABLESPACE CUS_TS02 
)

위 내용은 Oracle 테이블 파티셔닝의 역할의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.