[求助]寻求创建分区表的方案,具体需求请进


具体表结构如下:


[Copy to clipboard] [ - ]
CODE:
create table DRAW
(
  ID    
NUMBER(8not null,
  VALTYPE  
NUMBER(2not null,
  TM       
NUMBER(4not null,
  DATATIME DATE 
not null,
  RAWDATA  
NUMBER(15,5),
  RAWTYPE  
NUMBER(2),
  REPDATA  
NUMBER(15,5),
  REPTYPE  
NUMBER(2),
  TMENG    
NUMBER(15,5),
  ENGTYPE  
NUMBER(2),
  VALID    
NUMBER(1),
  BAK      
VARCHAR2(64)
)

ID、VALTYPE  、DATATIME 为主键列。

每个ID、和VALTYPE在一天之内有1440条数据,就是每1分钟有1条数据;
ID大概在1000个左右,根据业务量的增大可能还会增加;
VALTYPE目前有4个值,从1到4。
所以说一天的数据都要在200万以上。

随着运行时间的变长,可能1年下来数据量就要到10,20亿左右。

客户端经常执行的SQL语句如下:


[Copy to clipboard] [ - ]
CODE:
select id,valtype,to_char(datatime,'yyyy-mm-dd'),sum(tmeng) 
from draw 
where id in (10001,10002,10003,10004,10005,10006,10007,10008,10009)  
and  DATATIME >= to_date('20060101','yyyymmdd'and DATATIME <to_date('20060201','yyyymmdd')
group by d,valtype,to_char(datatime,'yyyy-mm-dd')

如果采用普通表的话速度就很慢,要提高性能的话就想采用分区表技术,想以DATATIME来分区,一天一个分区表。

这样在建立分区表时有什么注意事项?表空间怎么建?索引怎么建?建全局索引还是local索引?索引的表空间怎么弄?

谢谢大家。

 

相关文章:

  • 2021-11-26
  • 2022-12-23
  • 2021-11-06
  • 2022-12-23
  • 2021-10-01
  • 2022-01-16
  • 2021-06-05
猜你喜欢
  • 2021-12-07
  • 2022-01-07
  • 2021-05-24
  • 2021-05-29
  • 2021-08-20
  • 2022-03-02
  • 2021-06-15
相关资源
相似解决方案