如何用java单用户多线程查询数据库?

问题是这样的:数据库有14张表相似的表,表属性除了表名都一样(其实就是每个盟市区划都各有一个表),需要通过表查询统计数据并汇总,如果单纯用sql语句再用union all的话需要20多秒的时间,如果数据量再大点这个时间会更长;我现在想通过java多线程同时将14张表的数据查出再进行汇总,至于数据库的I/O方面应该不会有问题,因为可以使用那库的人很少。

我现在可以写出一个多线程的代码如下:
[code="java"]
public class Test {
public static void main(String[] args) throws Exception{
Thread t0 = new MyThread("aa",100);
t0.start();
Thread t1 = new MyThread("bb",50);
t1.start();
Thread t2 = new MyThread("cc",3);
t2.start();
Thread t3 = new MyThread("dd",1);
t3.start();

                 getTotal();
  }

}
[/code]
现在就是无发保证最下面的方法在前面的线程都结束时调用,求解答!

给MyThread加个Vector,
构造的时候,作add("query_key");
线程退出(查询完毕)的时候,作remove("query_key");

在线程退出的时候,判断vector里的东西,就ok.

弄个同步就成了.
要不用个ThreadGroup.
然后join一下也成吧