다중 키 해시 파티션

2022. 6. 27.·Oracle/Performance

다중 키로 생성한 해시 파티션의 조회 방식을 테스트하기 위해 아래와 같이 테이블을 생성하겠습니다.

-- 1
DROP TABLE t1 PURGE;

CREATE TABLE t1 (c1 NUMBER, c2 NUMBER, c3 NUMBER)
PARTITION BY HASH (c1, c2, c3) PARTITIONS 256;

 

전체 파티션 키를  등호(=)로 입력하면 단일 파티션이 조회됩니다.

-- 2
SELECT * FROM t1 WHERE c1 = 1 AND c2 = 1 AND c3 = 1;

------------------------------------------------------
| Id  | Operation             | Name | Pstart| Pstop |
------------------------------------------------------
|   0 | SELECT STATEMENT      |      |       |       |
|   1 |  PARTITION HASH SINGLE|      |   230 |   230 |
|*  2 |   TABLE ACCESS FULL   | T1   |   230 |   230 |
------------------------------------------------------

 

하나의 파티션 키라도 입력하지 않으면 전체 파티션을 조회됩니다.

-- 2
SELECT * FROM t1 WHERE c1 = 1 AND c2 = 1;

---------------------------------------------------
| Id  | Operation          | Name | Pstart| Pstop |
---------------------------------------------------
|   0 | SELECT STATEMENT   |      |       |       |
|   1 |  PARTITION HASH ALL|      |     1 |   256 |
|*  2 |   TABLE ACCESS FULL| T1   |     1 |   256 |
---------------------------------------------------

 

일부 파티션 키를 IN 조건으로 입력하더라도 전체 파티션 키를  등호(=)로 입력할 수 있으면 해당하는 파티션만 조회됩니다.

-- 3
SELECT * FROM t1 WHERE c1 IN (1, 2) AND c2 = 1 AND c3 IN (1, 2);

------------------------------------------------------
| Id  | Operation             | Name | Pstart| Pstop |
------------------------------------------------------
|   0 | SELECT STATEMENT      |      |       |       |
|   1 |  PARTITION HASH INLIST|      |KEY(I) |KEY(I) |
|*  2 |   TABLE ACCESS FULL   | T1   |KEY(I) |KEY(I) |
------------------------------------------------------
저작자표시 비영리 변경금지 (새창열림)
'Oracle/Performance' 카테고리의 다른 글
  • Historical SQL Monitor Report가 저장되지 않는 이슈
  • OR 조인 조건을 사용한 아우터 조인의 성능 저하 #2
  • 병렬 MERGE 문의 데이터 분배
  • 자동 통계 수집과 STALE_PERCENT
정희락
정희락
2007년부터 Oracle Database 성능 최적화에 관심을 가져왔습니다. 현재 한국오라클 Engineered Systems Solution Engineering 팀에서 Solution Engineer로 근무하고 있습니다. 이 블로그는 개인적인 연구 목적으로 운영되며 Oracle 사의 공식적인 입장을 대변하지 않습니다.
  • 정희락
    TunA
    정희락
  • 전체
    오늘
    어제
    • 분류 전체보기 (200)
      • Oracle (172)
        • SQL (33)
        • PLSQL (10)
        • Performance (74)
        • Administration (37)
        • Installation (3)
        • Utilities (1)
        • JSON (8)
        • Vector (6)
      • Exadata (15)
      • SQL*Plus (2)
      • Linux (5)
      • Resources (6)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 도서

    • 불친절한 SQL 프로그래밍
    • 불친절한 PL/SQL 프로그래밍
  • 링크

    • Connor McDonald
    • Frits Hoogland
    • Jonathan Lewis
    • Julian Dontcheff
    • Julian Dyke
    • Kun Sun
    • Maria Colgan
    • Martin Bach
    • Mike Dietrich
    • Tanel Poder
  • 공지사항

  • 인기 글

  • 태그

    12c
    19c
    21c
    23ai
    case study
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
정희락
다중 키 해시 파티션
상단으로

티스토리툴바