안녕하세요..
요즘 파티션 관련해서 질문을 많이 하면서 공부를 하게 되네요..
도움 주신분들 모두 감사 드립니다..
테이블을 RANGE 파티션을 하고 SUB파티션으로 HASH 로 나눌려고 하는데요
도서와 온라인을 검색해보니 다들 아래와 같은 방법으로 나누어져 있더라고요..
CREATE TABLE TEST
(
REG_DT VARCHAR2(14) NOT NULL,
SRNO NUMBER(13) NOT NULL
)
TABLESPACE USER
PARTITION BY RANGE (REG_DT)
SUBPARTITION BY HASH(SRNO) SUBPARTITIONS 8
(
PARTITION P_20200101 VALUES LESS THAN ('20200102000000') TABLESPACE USER,
PARTITION P_20200102 VALUES LESS THAN ('20200103000000') TABLESPACE USER,
PARTITION P_20200103 VALUES LESS THAN ('20200104000000') TABLESPACE USER,
PARTITION P_20200104 VALUES LESS THAN ('20200105000000') TABLESPACE USER,
PARTITION P_20200105 VALUES LESS THAN ('20200106000000') TABLESPACE USER,
PARTITION P_20200106 VALUES LESS THAN ('20200107000000') TABLESPACE USER,
PARTITION P_20200107 VALUES LESS THAN ('20200108000000') TABLESPACE USER,
PARTITION P_20200108 VALUES LESS THAN ('20200109000000') TABLESPACE USER,
PARTITION P_20200109 VALUES LESS THAN ('20200110000000') TABLESPACE USER,
PARTITION P_20200110 VALUES LESS THAN ('20200111000000') TABLESPACE USER
);
그런데 검색을 해 보니 아래와 같은 문법도 있던데 차이점이 뭔지 궁금해서요..
CREATE TABLE TEST
(
REG_DT VARCHAR2(14) NOT NULL,
SRNO NUMBER(13) NOT NULL
)
TABLESPACE USER
COMPRESS FOR OLTP
PARTITION BY RANGE (REG_DT)
SUBPARTITION BY HASH(SRNO) SUBPARTITIONS 8
(
PARTITION P_20200101 VALUES LESS THAN ('20200102000000')
TABLESPACE USER
(
SUBPARTITION P_20200101_H_01 TABLESPACE USER,
SUBPARTITION P_20200101_H_02 TABLESPACE USER,
SUBPARTITION P_20200101_H_03 TABLESPACE USER,
SUBPARTITION P_20200101_H_04 TABLESPACE USER,
SUBPARTITION P_20200101_H_05 TABLESPACE USER,
SUBPARTITION P_20200101_H_06 TABLESPACE USER,
SUBPARTITION P_20200101_H_07 TABLESPACE USER,
SUBPARTITION P_20200101_H_08 TABLESPACE USER,
SUBPARTITION P_20200101_H_09 TABLESPACE USER,
SUBPARTITION P_20200101_H_10 TABLESPACE USER
),
PARTITION P_20200102 VALUES LESS THAN ('20200103000000')
TABLESPACE USER
(
SUBPARTITION P_20200102_H_01 TABLESPACE USER,
SUBPARTITION P_20200102_H_02 TABLESPACE USER,
SUBPARTITION P_20200102_H_03 TABLESPACE USER,
SUBPARTITION P_20200102_H_04 TABLESPACE USER,
SUBPARTITION P_20200102_H_05 TABLESPACE USER,
SUBPARTITION P_20200102_H_06 TABLESPACE USER,
SUBPARTITION P_20200102_H_07 TABLESPACE USER,
SUBPARTITION P_20200102_H_08 TABLESPACE USER,
SUBPARTITION P_20200102_H_09 TABLESPACE USER,
SUBPARTITION P_20200102_H_10 TABLESPACE USER
),
PARTITION P_20200103 VALUES LESS THAN ('20200104000000')
TABLESPACE USER
(
SUBPARTITION P_20200103_H_01 TABLESPACE USER,
SUBPARTITION P_20200103_H_02 TABLESPACE USER,
SUBPARTITION P_20200103_H_03 TABLESPACE USER,
SUBPARTITION P_20200103_H_04 TABLESPACE USER,
SUBPARTITION P_20200103_H_05 TABLESPACE USER,
SUBPARTITION P_20200103_H_06 TABLESPACE USER,
SUBPARTITION P_20200103_H_07 TABLESPACE USER,
SUBPARTITION P_20200103_H_08 TABLESPACE USER,
SUBPARTITION P_20200103_H_09 TABLESPACE USER,
SUBPARTITION P_20200103_H_10 TABLESPACE USER
),
PARTITION P_20200104 VALUES LESS THAN ('20200105000000')
TABLESPACE USER
(
SUBPARTITION P_20200104_H_01 TABLESPACE USER,
SUBPARTITION P_20200104_H_02 TABLESPACE USER,
SUBPARTITION P_20200104_H_03 TABLESPACE USER,
SUBPARTITION P_20200104_H_04 TABLESPACE USER,
SUBPARTITION P_20200104_H_05 TABLESPACE USER,
SUBPARTITION P_20200104_H_06 TABLESPACE USER,
SUBPARTITION P_20200104_H_07 TABLESPACE USER,
SUBPARTITION P_20200104_H_08 TABLESPACE USER,
SUBPARTITION P_20200104_H_09 TABLESPACE USER,
SUBPARTITION P_20200104_H_10 TABLESPACE USER
),
PARTITION P_20200105 VALUES LESS THAN ('20200106000000')
TABLESPACE USER
(
SUBPARTITION P_20200105_H_01 TABLESPACE USER,
SUBPARTITION P_20200105_H_02 TABLESPACE USER,
SUBPARTITION P_20200105_H_03 TABLESPACE USER,
SUBPARTITION P_20200105_H_04 TABLESPACE USER,
SUBPARTITION P_20200105_H_05 TABLESPACE USER,
SUBPARTITION P_20200105_H_06 TABLESPACE USER,
SUBPARTITION P_20200105_H_07 TABLESPACE USER,
SUBPARTITION P_20200105_H_08 TABLESPACE USER,
SUBPARTITION P_20200105_H_09 TABLESPACE USER,
SUBPARTITION P_20200105_H_10 TABLESPACE USER
),
PARTITION P_20200106 VALUES LESS THAN ('20200107000000')
TABLESPACE USER
(
SUBPARTITION P_20200106_H_01 TABLESPACE USER,
SUBPARTITION P_20200106_H_02 TABLESPACE USER,
SUBPARTITION P_20200106_H_03 TABLESPACE USER,
SUBPARTITION P_20200106_H_04 TABLESPACE USER,
SUBPARTITION P_20200106_H_05 TABLESPACE USER,
SUBPARTITION P_20200106_H_06 TABLESPACE USER,
SUBPARTITION P_20200106_H_07 TABLESPACE USER,
SUBPARTITION P_20200106_H_08 TABLESPACE USER,
SUBPARTITION P_20200106_H_09 TABLESPACE USER,
SUBPARTITION P_20200106_H_10 TABLESPACE USER
),
PARTITION P_20200107 VALUES LESS THAN ('20200108000000')
TABLESPACE USER
(
SUBPARTITION P_20200107_H_01 TABLESPACE USER,
SUBPARTITION P_20200107_H_02 TABLESPACE USER,
SUBPARTITION P_20200107_H_03 TABLESPACE USER,
SUBPARTITION P_20200107_H_04 TABLESPACE USER,
SUBPARTITION P_20200107_H_05 TABLESPACE USER,
SUBPARTITION P_20200107_H_06 TABLESPACE USER,
SUBPARTITION P_20200107_H_07 TABLESPACE USER,
SUBPARTITION P_20200107_H_08 TABLESPACE USER,
SUBPARTITION P_20200107_H_09 TABLESPACE USER,
SUBPARTITION P_20200107_H_10 TABLESPACE USER
),
PARTITION P_20200108 VALUES LESS THAN ('20200109000000')
TABLESPACE USER
(
SUBPARTITION P_20200108_H_01 TABLESPACE USER,
SUBPARTITION P_20200108_H_02 TABLESPACE USER,
SUBPARTITION P_20200108_H_03 TABLESPACE USER,
SUBPARTITION P_20200108_H_04 TABLESPACE USER,
SUBPARTITION P_20200108_H_05 TABLESPACE USER,
SUBPARTITION P_20200108_H_06 TABLESPACE USER,
SUBPARTITION P_20200108_H_07 TABLESPACE USER,
SUBPARTITION P_20200108_H_08 TABLESPACE USER,
SUBPARTITION P_20200108_H_09 TABLESPACE USER,
SUBPARTITION P_20200108_H_10 TABLESPACE USER
),
PARTITION P_20200109 VALUES LESS THAN ('20200110000000')
TABLESPACE USER
(
SUBPARTITION P_20200109_H_01 TABLESPACE USER,
SUBPARTITION P_20200109_H_02 TABLESPACE USER,
SUBPARTITION P_20200109_H_03 TABLESPACE USER,
SUBPARTITION P_20200109_H_04 TABLESPACE USER,
SUBPARTITION P_20200109_H_05 TABLESPACE USER,
SUBPARTITION P_20200109_H_06 TABLESPACE USER,
SUBPARTITION P_20200109_H_07 TABLESPACE USER,
SUBPARTITION P_20200109_H_08 TABLESPACE USER,
SUBPARTITION P_20200109_H_09 TABLESPACE USER,
SUBPARTITION P_20200109_H_10 TABLESPACE USER
)
);
파티션을 조회해 보니 PATITION_NAME과 데이터는 같은거 같은데 두개의 차이점이 무엇이고, 성능상 어떤것이 더 좋은지 궁금해서 이렇게 질문을 드립니다.
현업에서는 어떤걸 더 쓰고 있는지도 궁금하네요..