肯定是用分区表,只要能从sql(select * from table partition(p1))得到过滤分区的信息,查询只会在相关的分区上进行,那消耗系统资源会大大减轻.
对了,还要建立局部分区索引,如果查询字段还包含除分区字段以外的字段的话,还要建立全局分区索引.
注: p1是table的一个分区

解决方案 »

  1.   

    应该使用oracle中的分区表来实现,为每个月创建一个分区,这样十二个分区上每个分区也就是10w-20w的记录,如果查询的时候还慢,可以考虑两级的分区,不如第一级使用随机分区(4个),第二级使用每个月一个分区(12个),这样一共48个分区,每个分区也就几万条数据,查询起来就相当快了。但是我有一个疑问,就是oracle说可以自动的对查询决定在那个分区上进行查找,但是事实上有时候可以有时候不行,这是为什么啊?请高手指教,谢谢