RANGE 파티션 테이블에 index, pk 생성 질문 드립니다. 잘모르겠어요;;...
CREATE TABLE TP_PTTN ------이력 및 로그 성 테이블
(
PTTN_NO VARCHAR2(16) NOT NULL, --- 중복 없는 유일 데이터(PTTN 신청번호) 가 들어가있음
PTTN_YMD VARCHAR2(8) NOT NULL, --- 파티션키 년월일 구성되어 있음
PTTN_CD VARCHAR2(8) NOT NULL,
PTTN_CD2 VARCHAR2(8),
..... 다수컬럼
)
TABLESPACE TP_N1
PARTITION BY RANGE (PTTN_YMD)
(
1994~~ 2010 .... 길어서 생략
PARTITION PT_2011 VALUES LESS THAN ('20120101'),
PARTITION PT_2012 VALUES LESS THAN ('20130101'),
PARTITION PT_2013 VALUES LESS THAN ('20140101'),
PARTITION PT_2014 VALUES LESS THAN ('20150101'),
PARTITION PT_2015 VALUES LESS THAN ('20160101'),
PARTITION PT_2016 VALUES LESS THAN ('20170101'),
PARTITION PT_2017 VALUES LESS THAN ('20180101'),
PARTITION PT_2018 VALUES LESS THAN ('20190101'),
PARTITION PT_2019 VALUES LESS THAN ('20200101'),
PARTITION PT_2020 VALUES LESS THAN ('20210101'),
PARTITION PT_2021 VALUES LESS THAN ('20220101'),
PARTITION PT_2022 VALUES LESS THAN ('20230101'),
PARTITION PT_2023 VALUES LESS THAN ('20240101'),
PARTITION PT_2024 VALUES LESS THAN ('20250101'),
PARTITION PT_2025 VALUES LESS THAN ('20260101'),
PARTITION PT_MAX VALUES LESS THAN (MAXVALUE)
TABLESPACE TP_N1
)
;
질문 1. 통계 테이블이 아닌이상 이력테이블이라고sms 하나 PK는 필수 겠죠?
질문 2. 이력 및 로그 테이블로 만들때 PK 만 생성 하면 되는건지... local non-prefixed index 로 생성해야 하는건지.. 하 모르겠습니다.
ㄱ. create index TP_PTTN_IX01 on TP_PTTN (PTTN_YMD) LOCAL;
ㄴ. create index TP_PTTN_IX01 on TP_PTTN (PTTN_NO) LOCAL;
ㄷ. create index TP_PTTN_IX01 on TP_PTTN (PTTN_YMD, PTTN_NO) LOCAL;
ㄹ. create index TP_PTTN_IX01 on TP_PTTN (PTTN_NO, PTTN_YMD) LOCAL;
ㅁ. ALTER TABLE TP_PTTN ADD CONSTRAINT TP_PTTN_PK PRIMARY KEY ( PTTN_NO );
생각해봤는데
ㄴ 은 아닌거 같고....
ㄱㄹ 두개를 생성 하면 되는건지...
ㅁ생성 하고 ㄴ생성 하면 되는건지 ...
1994 3530
1995 4767
1996 4517
1997 17841
1998 16437
1999 34816
2000 111566
2001 174970
2002 243695
2003 348500
2004 553572
2005 536192
2006 522279
2007 532540
2008 735227
2009 842599
2010 975858
2011 1239876
2012 1457997
2013 1826071
2014 2031633
2015 1890669
2016 2276727
2017 3084153
2018 4701754
2019 1384946
null 4
실제 년도별 건수