> 데이터 베이스 > MySQL 튜토리얼 > Oracle의 데이터 파티셔닝에서 'PARTITION BY' 및 'KEEP' 절은 어떻게 다릅니까?

Oracle의 데이터 파티셔닝에서 'PARTITION BY' 및 'KEEP' 절은 어떻게 다릅니까?

Linda Hamilton
풀어 주다: 2024-12-25 05:19:17
원래의
165명이 탐색했습니다.

How do `PARTITION BY` and `KEEP` clauses differ in Oracle's data partitioning?

Oracle에서 KEEP이 있거나 없는 PARTITION BY

Oracle에서 데이터를 분할할 때 PARTITION BY와 KEEP의 두 가지 주요 옵션을 사용할 수 있습니다. 두 옵션 모두 데이터를 더 작은 하위 집합으로 그룹화하는 데 사용할 수 있지만 결과 데이터에 미치는 영향은 다릅니다.

PARTITION BY

PARTITION BY 절은 데이터를 나누는 데 사용됩니다. 하나 이상의 열을 기반으로 테이블을 더 작은 파티션으로 나눕니다. 각 파티션의 데이터는 다른 파티션의 데이터와 별도로 저장됩니다. 이는 특정 열 값으로 데이터를 필터링하는 쿼리와 같은 특정 유형의 쿼리에 대한 성능을 향상시킬 수 있습니다.

예를 들어 다음 쿼리는 PARTITION BY 절을 사용하여 empl 테이블을 deptno를 기반으로 하는 파티션으로 나눕니다. 열:

SELECT empno,
       deptno,
       sal,
       MIN(sal) OVER (PARTITION BY deptno) AS "Lowest",
       MAX(sal) OVER (PARTITION BY deptno) AS "Highest"
FROM empl;
로그인 후 복사

이 쿼리는 각 부서의 최저 급여와 최고 급여를 반환합니다. 각 부서의 데이터가 별도의 파티션에 저장되므로 부서별로 데이터를 필터링하는 쿼리의 성능이 향상됩니다.

KEEP

KEEP 절을 사용하여 각 파티션에서 유지할 행을 지정합니다. KEEP 절은 PARTITION BY 절 또는 DISTINCT 절과 함께 사용할 수 있습니다.

PARTITION BY 절과 함께 사용할 경우 KEEP 절은 각 파티션에서 보관할 행을 지정합니다. 예를 들어 다음 쿼리는 KEEP 절을 사용하여 각 파티션의 첫 번째 행만 유지합니다.

SELECT empno,
       deptno,
       sal,
       MIN(sal) OVER (PARTITION BY deptno) AS "Lowest",
       MAX(sal) OVER (PARTITION BY deptno) AS "Highest"
FROM empl
KEEP (DENSE_RANK FIRST ORDER BY sal) OVER (PARTITION BY deptno);
로그인 후 복사

이 쿼리는 각 부서의 최저 급여와 최고 급여를 반환하지만 첫 번째 행만 반환합니다. 각 파티션에서. 이는 제한된 수의 행을 반환해야 하는 쿼리나 특정 순서로 데이터를 반환해야 하는 쿼리에 유용할 수 있습니다.

PARTITION BY와 KEEP의 차이점

PARTITION BY와 KEEP의 주요 차이점은 PARTITION BY는 데이터를 더 작은 파티션으로 나누는 반면 KEEP은 보관할 행을 지정한다는 것입니다. 각 파티션. PARTITION BY를 사용하면 특정 유형의 쿼리에 대한 성능을 향상시킬 수 있고, KEEP을 사용하면 쿼리에서 반환되는 행 수를 제한하거나 특정 순서로 데이터를 반환할 수 있습니다.

위 내용은 Oracle의 데이터 파티셔닝에서 'PARTITION BY' 및 'KEEP' 절은 어떻게 다릅니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿