目前我有4个表数据分别都在1亿行以上。
每个表按地区列分区,总共分为14个分区;
然后按月动态创建子分区。
比如A表,分区有:A_1,A_2……A_14;
A_1包括子分区A_1_201001,A_1_201002……A_1_201012,A_1_201101……
查询分区或子分区效果还不错,比较迅速。
但是……SUM(A) FROM A GROUP BY A1执行相当疯狂。。
如果……SUM(A),SUM(B) FROM A ,B WHERE A的某分区 AND B的某分区 AND A.XX=B.XX GROUP BY A1就没看到过结果
请问我应该如何查询。
如果优化我的库和SQL。
在线等,问题解决可加高分

解决方案 »

  1.   

    写索引。这个可以解决你的问题。至于怎么写。google把
      

  2.   

      ……SUM(A),SUM(B) FROM A ,B WHERE A的某分区 AND B的某分区 AND A.XX=B.XX GROUP BY A1 可以考虑分别对A表和B表的所需要的分区建临时表 ,在进行查询,前提是你查的这个分区数据不会再有变化
      

  3.   

    对于按时间分区的表,你应该根据需求定时的来对分区数据进行汇总,在晚上基本没人用的的情况,用JOB将汇总信息插入到汇总表里去。