오라클에서 파티션 테이블은 큰 테이블을 관리 가능한 여러 개의 작은 파티션 테이블로 분해하는 것입니다. 각 파티션 테이블은 서로 독립적이며 논리적으로 말하면 하나의 테이블 또는 하나의 인덱스만 구성됩니다. 그러나 물리적으로 이 테이블이나 인덱스는 여러 개의 물리적 파티션으로 구성될 수 있습니다. 파티션 테이블은 범위 파티션, 목록 파티션, 해시 파티션 및 결합 파티션으로 나눌 수 있습니다.
이 튜토리얼의 운영 환경: Windows 10 시스템, Oracle 11g 버전, Dell G3 컴퓨터.
(1) 파티션이란 무엇입니까
Oracle 데이터베이스에서 대형 테이블/대형 인덱스의 관리 용이성, 유지 보수성 및 성능을 향상시키기 위해 Oracle은 파티션 테이블 메커니즘을 도입했습니다. 큰 테이블/인덱스는 여러 개의 작고 관리 가능한 파티션으로 나눌 수 있습니다. 여러 파티션은 상대적으로 독립적이며 독립적인 저장 구조를 가지며 함께 완전한 테이블/인덱스를 구성합니다. 분할은 응용 프로그램에 투명합니다. 즉, 데이터베이스에 액세스하는 응용 프로그램의 경우 논리적으로 하나의 테이블이나 인덱스만 있지만(응용 프로그램이 여전히 하나의 테이블이나 인덱스만 보는 것과 동일) 물리적으로 이 테이블이나 인덱스는 여러 개의 구성 요소로 구성될 수 있습니다. 물리적 파티션.
(2) 파티셔닝은 언제 필요합니까?
Oracle 공식 웹사이트에서는 다음과 같은 상황에서 파티셔닝된 테이블을 사용할 것을 권장합니다.
1. 테이블 데이터의 양이 2GB를 초과하는 경우 파티셔닝을 고려해야 합니다.
2. 기록 데이터를 저장하는 데 사용되는 최신 파티션에 새 데이터가 추가됩니다.
(3) 분할 테이블과 파티션 테이블의 차이점
대형 테이블/인덱스의 데이터를 분산하기 위한 또 다른 방법은 테이블을 분할하는 것입니다. 규칙. 독립적인 저장 공간이 있는 엔터티 테이블입니다. 예를 들어 고객 테이블 customer는 개인 고객 customer_person을 저장하는 테이블과 기업 고객 customer_company를 저장하는 테이블로 분할될 수 있습니다. 하위 테이블은 완전히 독립적이며 논리적으로 여러 개의 서로 다른 테이블인 반면, 파티션 테이블은 물리적으로 하나의 테이블입니다. 분할된 테이블은 애플리케이션에 투명하고 관리 및 유지 관리가 쉬운 반면, 하위 테이블은 관리 및 유지 관리가 쉽지 않습니다.
(4) 파티션 테이블의 종류
범위 파티셔닝
리스트 파티셔닝
해시 파티셔닝
복합 파티셔닝 파티셔닝)
기본 파티셔닝은 파티션 테이블을 말합니다. 하나의 분할 계층(범위 분할, 목록 분할, 해시 분할)을 사용합니다.
파티션 테이블이 여러 레벨로 파티셔닝되는 경우 이를 결합 파티셔닝이라고 합니다.
범위 분할 테이블
(1) 파티션 키
파티셔닝은 매우 큰 테이블이나 인덱스를 여러 개의 작고 관리 가능한 부분으로 나누는 것입니다. 분할된 테이블은 파티션 키로 분할됩니다. 파티션 키는 분할된 테이블의 각 데이터 행이 어느 파티션으로 흘러가는지 결정합니다. 분할된 테이블의 각 데이터 행은 파티션 키를 기반으로 파티션에 암시적으로 할당됩니다.
(2) 범위 파티셔닝
범위 파티셔닝은 파티션 키와 파티션 키에 속하는 데이터 행의 다양한 범위 값에 따라 파티션을 나눕니다.
(3) 사례 1(파티션 키가 단일 열임)
CREATE TABLE time_range_sales ( prod_id NUMBER(6) , cust_id NUMBER , time_id DATE , channel_id CHAR(1) , promo_id NUMBER(6) , quantity_sold NUMBER(3) , amount_sold NUMBER(10,2) ) PARTITION BY RANGE (time_id) (PARTITION SALES_1998 VALUES LESS THAN (TO_DATE('01-JAN-1999','DD-MON-YYYY')), PARTITION SALES_1999 VALUES LESS THAN (TO_DATE('01-JAN-2000','DD-MON-YYYY')), PARTITION SALES_2000 VALUES LESS THAN (TO_DATE('01-JAN-2001','DD-MON-YYYY')), PARTITION SALES_2001 VALUES LESS THAN (MAXVALUE) );
추천 튜토리얼: "Oracle Video Tutorial"
위 내용은 오라클의 파티션 테이블이란 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!