我们在做一个系统,但单个表数据内容过多,这样,查询和管理起来都很困难想请教各位,有什么好的方法没有听说有什么数据分区,这个具体怎么应用?或有没有其他好的方法?

解决方案 »

  1.   

    给你一个一年的分区事例每10天一个分区
    -- Create table
    create table ICDMAIN.T_PUB_COMMONINFO
    (
      SERIALNO         VARCHAR2(20) not null,
      ACCEPTBEGINTIME  DATE not null,
      PARTID           VARCHAR2(4) not null,
      ACCEPTDURATION   NUMBER(10),
      ACCEPTERNO       VARCHAR2(10) not null  
    )
    partition by range (PARTID)
    (
      partition P01_1 values less than ('0111')
        tablespace SERVICE_LOG_DAT
        pctfree 10
        initrans 4
        maxtrans 255
        storage
        (
          initial 10M
          minextents 1
          maxextents unlimited
        ),
      partition P01_2 values less than ('0121')
        tablespace SERVICE_LOG_DAT
        pctfree 10
        initrans 4
        maxtrans 255
        storage
        (
          initial 10M
          minextents 1
          maxextents unlimited
        ),
      partition P01_3 values less than ('0132')
        tablespace SERVICE_LOG_DAT
        pctfree 10
        initrans 4
        maxtrans 255
        storage
        (
          initial 10M
          minextents 1
          maxextents unlimited
        ),
      partition P02_1 values less than ('0211')
        tablespace SERVICE_LOG_DAT
        pctfree 10
        initrans 4
        maxtrans 255
        storage
        (
          initial 10M
          minextents 1
          maxextents unlimited
        ),
      partition P02_2 values less than ('0221')
        tablespace SERVICE_LOG_DAT
        pctfree 10
        initrans 4
        maxtrans 255
        storage
        (
          initial 10M
          minextents 1
          maxextents unlimited
        ),
      partition P02_3 values less than ('0232')
        tablespace SERVICE_LOG_DAT
        pctfree 10
        initrans 4
        maxtrans 255
        storage
        (
          initial 10M
          minextents 1
          maxextents unlimited
        ),
       
      //其他月为类似写法  partition P12_1 values less than ('1211')
        tablespace SERVICE_LOG_DAT
        pctfree 10
        initrans 4
        maxtrans 255
        storage
        (
          initial 10M
          minextents 1
          maxextents unlimited
        ),
      partition P12_2 values less than ('1221')
        tablespace SERVICE_LOG_DAT
        pctfree 10
        initrans 4
        maxtrans 255
        storage
        (
          initial 10M
          minextents 1
          maxextents unlimited
        ),
      partition P12_3 values less than (MAXVALUE)
        tablespace SERVICE_LOG_DAT
        pctfree 10
        initrans 4
        maxtrans 255
        storage
        (
          initial 10M
          minextents 1
          maxextents unlimited
        )
    )
    ;