테이블스페이스와 파티션 테이블의 개념
테이블스페이스: (권장 학습: 웹 프론트엔드 비디오 튜토리얼)
은 하나 이상의 데이터 파일의 모음입니다. 지정된 테이블스페이스에 객체가 저장되지만 주로 테이블을 저장하므로 테이블스페이스라고 부른다.
파티션 테이블:
테이블의 데이터 양이 계속해서 증가하면 데이터를 쿼리하는 속도가 느려지고, 애플리케이션의 성능이 저하되면 테이블 분할을 고려해야 합니다. 테이블이 분할된 후에도 논리적 테이블은 여전히 완전한 테이블이지만 테이블의 데이터는 물리적으로 여러 테이블스페이스(물리적 파일)에 저장되므로 데이터를 쿼리할 때 매번 전체 테이블을 스캔하지 않습니다. 테이블
테이블 파티셔닝의 구체적인 역할
오라클의 테이블 파티셔닝 기능은 관리 용이성, 성능 및 가용성을 향상시켜 다양한 애플리케이션에 큰 이점을 제공합니다. 일반적으로 파티셔닝은 특정 쿼리 및 유지 관리 작업의 성능을 크게 향상시킬 수 있습니다. 또한 파티셔닝은 일반적인 관리 작업을 크게 단순화할 수 있으며 기가바이트 데이터 시스템 또는 초고가용성 시스템을 구축하는 핵심 도구입니다.
파티셔닝 기능은 테이블, 인덱스 또는 인덱스 구성 테이블을 세그먼트로 더 세분화할 수 있습니다. 이러한 데이터베이스 개체의 세그먼트를 파티션이라고 합니다. 각 파티션에는 고유한 이름이 있으며 고유한 스토리지 특성을 선택할 수 있습니다. 데이터베이스 관리자의 관점에서 분할된 개체에는 여러 세그먼트가 있으며 이러한 세그먼트는 집합적으로 또는 개별적으로 관리될 수 있습니다. 이는 분할된 개체를 관리할 때 데이터베이스 관리자에게 상당한 유연성을 제공합니다. 그러나 애플리케이션 관점에서 볼 때 분할된 테이블은 분할되지 않은 테이블과 동일하므로 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!