DB2如何高效实现多表查询
杰小 2011-01-12 05:09:29 现有数据表TEST200901,TEST200902,TEST200903....TEST201112共36张表,即存了3年的历史数据,按月建表存放
现有一个查询,需要将36张表中的数据给查询出来,这36张表的数据字段全部没有,没有主键,(如果一定需要一个主键,可以添加一个自增字段做主键,目前没有)
每张表数据约1800万,总计结果集6亿
假定表中字段均为
name1 name2 name3
100 20090101 300
每张表均是按name1建了分区,name2为日期字段,为查询条件
结果展现name1,name2,name3都要展现
注:36张表的数据最终需要union all
select name1,name2,name3 from TEST200901
union all
select name1,name2,name3 from TEST200902
union all
.
.
.
select name1,name2,name3 from TEST201112
where name1=? and name3>=? and name3<=?
怎样可以比较高效的实现,需要实现实时查询,所以没法用过程或函数预处理
请高手指点,谢谢
(因等级受限制,只能发100分,如果完美实现,在另外发帖补给300分)