-- Create table drop table PERSON2; create table PERSON2 ( ID VARCHAR2(32) not null, PID NUMBER, ORDERID NUMBER, DPT VARCHAR2(4), DPC VARCHAR2(16), GDS VARCHAR2(8), XM VARCHAR2(64), XB VARCHAR2(2), MZ VARCHAR2(32), JG VARCHAR2(64), XTLB VARCHAR2(100), QFBS VARCHAR2(2), CSRQ VARCHAR2(32), SFZH VARCHAR2(60), ZZMM VARCHAR2(16), RDTSJ VARCHAR2(32), WHCD VARCHAR2(32), XW VARCHAR2(8), BYSJ VARCHAR2(32), BYXX VARCHAR2(128), SXZY VARCHAR2(60), CJGZSJ VARCHAR2(32), SZJG VARCHAR2(128), SZBM VARCHAR2(128), ZP BLOB, BZ CLOB, ZW VARCHAR2(128), ZWDM VARCHAR2(4), RZSJ VARCHAR2(32), LDBS VARCHAR2(4), ZWGP VARCHAR2(1), JBDY VARCHAR2(4), ZYJB VARCHAR2(3), ZYTC VARCHAR2(64), ZYJSZCDJ VARCHAR2(1), ZYJSZCLB VARCHAR2(3), ZYJSZC VARCHAR2(64), ZYJSZWLB VARCHAR2(3), ZYJSZW VARCHAR2(64), PRSJ VARCHAR2(32), RYJG VARCHAR2(10), BZLX VARCHAR2(4), KZQD VARCHAR2(2), GZZE NUMBER(10,2), RYLB VARCHAR2(3), GWLB VARCHAR2(2), DRQDW VARCHAR2(128), DRSJ VARCHAR2(60), LBSJ VARCHAR2(32), HBYY VARCHAR2(4), HBSJ VARCHAR2(32), HJSJ VARCHAR2(60), HJYY VARCHAR2(4), ZBZT VARCHAR2(1), BY0 VARCHAR2(1), BY1 VARCHAR2(2), BY2 VARCHAR2(4), BY3 VARCHAR2(8), BY4 VARCHAR2(16), BY5 VARCHAR2(32), BY6 VARCHAR2(64), BY7 VARCHAR2(128), SDCZ VARCHAR2(10) default 0 not null, DIAOLI VARCHAR2(10) default 0 not null, BZZH VARCHAR2(200), TJSJ VARCHAR2(32), QHDM VARCHAR2(10), JYSJ VARCHAR2(32), LTSJ VARCHAR2(32) ) partition by range (QHDM) ( partition J0 values less than ('220099') tablespace DATA_J0 pctfree 10 initrans 1 maxtrans 255 storage ( initial 64K minextents 1 maxextents unlimited ), partition CC values less than ('220199') tablespace DATA_CC pctfree 10 initrans 1 maxtrans 255 storage ( initial 64K minextents 1 maxextents unlimited ), partition JL values less than ('220299') tablespace DATA_JL pctfree 10 initrans 1 maxtrans 255 storage ( initial 64K minextents 1 maxextents unlimited ), partition SP values less than ('220399') tablespace DATA_SP pctfree 10 initrans 1 maxtrans 255 storage ( initial 64K minextents 1 maxextents unlimited ), partition LY values less than ('220499') tablespace DATA_LY pctfree 10 initrans 1 maxtrans 255 storage ( initial 64K minextents 1 maxextents unlimited ), partition TH values less than ('220599') tablespace DATA_TH pctfree 10 initrans 1 maxtrans 255 storage ( initial 64K minextents 1 maxextents unlimited ), partition BS values less than ('220699') tablespace DATA_BS pctfree 10 initrans 1 maxtrans 255 storage ( initial 64K minextents 1 maxextents unlimited ), partition SY values less than ('220799') tablespace DATA_SY pctfree 10 initrans 1 maxtrans 255 storage ( initial 64K minextents 1 maxextents unlimited ), partition BC values less than ('220899') tablespace DATA_BC pctfree 10 initrans 1 maxtrans 255 storage ( initial 64K minextents 1 maxextents unlimited ), partition YB values less than ('222499') tablespace DATA_YB pctfree 10 initrans 1 maxtrans 255 storage ( initial 64K minextents 1 maxextents unlimited ) ); -- Create/Recreate primary, unique and foreign key constraints alter table PERSON2 add constraint PK_PERSON2 primary key (ID) using index tablespace DATA pctfree 10 initrans 2 maxtrans 255 storage ( initial 64K minextents 1 maxextents unlimited ); insert into person2 (select * from person where qhdm<='220099') insert into person2 (select * from person where '220099'<=qhdm and qhdm<='220199') insert into person2 (select * from person where '220199'<=qhdm and qhdm<='220299') insert into person2 (select * from person where '220299'<=qhdm and qhdm<='220399') insert into person2 (select * from person where '220399'<=qhdm and qhdm<='220499') insert into person2 (select * from person where '220499'<=qhdm and qhdm<='220599') insert into person2 (select * from person where '220599'<=qhdm and qhdm<='220699') insert into person2 (select * from person where '220699'<=qhdm and qhdm<='220799') insert into person2 (select * from person where '220799'<=qhdm and qhdm<='220899') insert into person2 (select * from person where '222400'<=qhdm and qhdm<='222426')
--全局好使(只能加载区分上QHDM) CREATE INDEX INX_qhdm_PERSON2 ON PERSON2(qhdm) GLOBAL PARTITION BY RANGE(QHDM)( partition J0 values less than ('220099') tablespace DATA_J0, partition CC values less than ('220199') tablespace DATA_CC, partition JL values less than ('220299') tablespace DATA_JL, partition SP values less than ('220399') tablespace DATA_SP, partition LY values less than ('220499') tablespace DATA_LY, partition TH values less than ('220599') tablespace DATA_TH, partition BS values less than ('220699') tablespace DATA_BS, partition SY values less than ('220799') tablespace DATA_SY, partition BC values less than ('220899') tablespace DATA_BC, partition YB values less than ('222499') tablespace DATA_YB, partition MX values less than (maxvalue) ); drop index INX_TAB_PERSON2 ------------------------------------------ --本地索引 CREATE INDEX INX_PERSON2_BZLX ON PERSON2(BZLX) LOCAL CREATE INDEX INX_PERSON2_KZQD ON PERSON2(KZQD) LOCAL CREATE INDEX INX_PERSON2_RYJG ON PERSON2(RYJG) LOCAL CREATE INDEX INX_PERSON2_RYLB ON PERSON2(RYLB) LOCAL CREATE INDEX INX_PERSON2_SFZH ON PERSON2(SFZH) LOCAL CREATE INDEX INX_PERSON2_SZBM ON PERSON2(SZBM) LOCAL CREATE INDEX INX_PERSON2_SZJG ON PERSON2(SZJG) LOCAL --s删除本地索引 (23秒) drop index INX_PERSON2_BZLX drop index INX_PERSON2_KZQD drop index INX_PERSON2_RYJG drop index INX_PERSON2_RYLB drop index INX_PERSON2_SFZH drop index INX_PERSON2_SZBM drop index INX_PERSON2_SZJG --全局索引 未定义表空间 create index person2_glb_bzgl on PERSON2(BZLX) global; create index person2_glb_KZQD on PERSON2(KZQD) global; create index person2_glb_RYJG on PERSON2(RYJG) global; create index person2_glb_RYLB on PERSON2(RYLB) global; create index person2_glb_SFZH on PERSON2(SFZH) global; create index person2_glb_SZBM on PERSON2(SZBM) global; create index person2_glb_SZJG on PERSON2(SZJG) global; drop index person2_glb_bzgl drop index person2_glb_KZQD drop index person2_glb_RYJG drop index person2_glb_RYLB drop index person2_glb_SFZH drop index person2_glb_SZBM drop index person2_glb_SZJG --测试----person的index挪用 create index PERSON2_BZLX2 on PERSON2 (BZLX) create index PERSON2_KZQD2 on PERSON2 (KZQD) create index PERSON2_RYJG2 on PERSON2 (RYJG) create index PERSON2_RYLB2 on PERSON2 (RYLB) create index PERSON2_SFZH2 on PERSON2 (SFZH) create index PERSON2_SZBM2 on PERSON2 (SZBM) create index PERSON2_SZJG2 on PERSON2 (SZJG) -----组合分区索引 ----测试ing create index PERSON2_szjg on person2(szjg) local ( partition J0 tablespace DATA_J0, partition CC tablespace DATA_CC, partition JL tablespace DATA_JL, partition SP tablespace DATA_SP, partition LY tablespace DATA_LY, partition TH tablespace DATA_TH, partition BS tablespace DATA_BS, partition SY tablespace DATA_SY, partition BC tablespace DATA_BC, partition YB tablespace DATA_YB ); drop index person2_szjg2
create index idx_person2_szjg on person2(szjg) local ( partition idx_person2_szjg_j0 tablespace data_j0, partition idx_person2_szjg_cc tablespace data_cc, partition idx_person2_szjg_jl tablespace data_jl, partition idx_person2_szjg_sp tablespace data_sp, partition idx_person2_szjg_ly tablespace data_ly, partition idx_person2_szjg_th tablespace data_th, partition idx_person2_szjg_bs tablespace data_bs, partition idx_person2_szjg_sy tablespace data_sy, partition idx_person2_szjg_bc tablespace data_bc, partition idx_person2_szjg_yb tablespace data_yb );