关于java中查询数据库数据,数据量太大,拼接sql语句之后ie挂起如何解决

关于java中查询数据库数据,数据量太大,拼接sql语句之后ie挂起怎么解决
市级部门sql:SELECT A.PRO_RULE_ID,NVL(SUM(A.LACK_NUM),0) NUM,NVL(SUM(A.QL_KIND_COUNT),0) COUNT,A.ORG_CODE FROM T_YZ_HXQL_PRO_DAY A, T_HXQL_DICT_PRO_RULE B WHERE A.PRO_RULE_ID = B.ID AND A.STATE = 'A' AND B.STATE = 'A' AND TERM_NO = '20141015' AND A.ORG_CODE(+) = 'JS010000' GROUP BY A.PRO_RULE_ID,A.ORG_CODE union all SELECT A.PRO_RULE_ID,NVL(SUM(A.LACK_NUM),0) NUM,NVL(SUM(A.QL_KIND_COUNT),0) COUNT,A.ORG_CODE FROM T_YZ_HXQL_PRO_DAY A, T_HXQL_DICT_PRO_RULE B WHERE A.PRO_RULE_ID = B.ID AND A.STATE = 'A' AND B.STATE = 'A' AND TERM_NO = '20141015' AND A.ORG_CODE(+) = 'JS020000' GROUP BY A.PRO_RULE_ID,A.ORG_CODE union all SELECT A.PRO_RULE_ID,NVL(SUM(A.LACK_NUM),0) NUM,NVL(SUM(A.QL_KIND_COUNT),0) COUNT,A.ORG_CODE FROM T_YZ_HXQL_PRO_DAY A, T_HXQL_DICT_PRO_RULE B WHERE A.PRO_RULE_ID = B.ID AND A.STATE = 'A' AND B.STATE = 'A' AND TERM_NO = '20141015' AND A.ORG_CODE(+) = 'JS030000' GROUP BY A.PRO_RULE_ID,A.ORG_CODE union all SELECT A.PRO_RULE_ID,NVL(SUM(A.LACK_NUM),0) NUM,NVL(SUM(A.QL_KIND_COUNT),0) COUNT,A.ORG_CODE FROM T_YZ_HXQL_PRO_DAY A, T_HXQL_DICT_PRO_RULE B WHERE A.PRO_RULE_ID = B.ID AND A.STATE = 'A' AND B.STATE = 'A' AND TERM_NO = '20141015' AND A.ORG_CODE(+) = 'JS040000' GROUP BY A.PRO_RULE_ID,A.ORG_CODE union all SELECT A.PRO_RULE_ID,NVL(SUM(A.LACK_NUM),0) NUM,NVL(SUM(A.QL_KIND_COUNT),0) COUNT,A.ORG_CODE FROM T_YZ_HXQL_PRO_DAY A, T_HXQL_DICT_PRO_RULE B WHERE A.PRO_RULE_ID = B.ID AND A.STATE = 'A' AND B.STATE = 'A' AND TERM_NO = '20141015' AND A.ORG_CODE(+) = 'JS050000' GROUP BY A.PRO_RULE_ID,A.ORG_CODE union all SELECT A.PRO_RULE_ID,NVL(SUM(A.LACK_NUM),0) NUM,NVL(SUM(A.QL_KIND_COUNT),0) COUNT,A.ORG_CODE FROM T_YZ_HXQL_PRO_DAY A, T_HXQL_DICT_PRO_RULE B WHERE A.PRO_RULE_ID = B.ID AND A.STATE = 'A' AND B.STATE = 'A' AND TERM_NO = '20141015' AND A.ORG_CODE(+) = 'JS060000' GROUP BY A.PRO_RULE_ID,A.ORG_CODE union all SELECT A.PRO_RULE_ID,NVL(SUM(A.LACK_NUM),0) NUM,NVL(SUM(A.QL_KIND_COUNT),0) COUNT,A.ORG_CODE FROM T_YZ_HXQL_PRO_DAY A, T_HXQL_DICT_PRO_RULE B WHERE A.PRO_RULE_ID = B.ID AND A.STATE = 'A' AND B.STATE = 'A' AND TERM_NO = '20141015' AND A.ORG_CODE(+) = 'JS070000' GROUP BY A.PRO_RULE_ID,A.ORG_CODE union all SELECT A.PRO_RULE_ID,NVL(SUM(A.LACK_NUM),0) NUM,NVL(SUM(A.QL_KIND_COUNT),0) COUNT,A.ORG_CODE FROM T_YZ_HXQL_PRO_DAY A, T_HXQL_DICT_PRO_RULE B WHERE A.PRO_RULE_ID = B.ID AND A.STATE = 'A' AND B.STATE = 'A' AND TERM_NO = '20141015' AND A.ORG_CODE(+) = 'JS080000' GROUP BY A.PRO_RULE_ID,A.ORG_CODE union all SELECT A.PRO_RULE_ID,NVL(SUM(A.LACK_NUM),0) NUM,NVL(SUM(A.QL_KIND_COUNT),0) COUNT,A.ORG_CODE FROM T_YZ_HXQL_PRO_DAY A, T_HXQL_DICT_PRO_RULE B WHERE A.PRO_RULE_ID = B.ID AND A.STATE = 'A' AND B.STATE = 'A' AND TERM_NO = '20141015' AND A.ORG_CODE(+) = 'JS090000' GROUP BY A.PRO_RULE_ID,A.ORG_CODE union all SELECT A.PRO_RULE_ID,NVL(SUM(A.LACK_NUM),0) NUM,NVL(SUM(A.QL_KIND_COUNT),0) COUNT,A.ORG_CODE FROM T_YZ_HXQL_PRO_DAY A, T_HXQL_DICT_PRO_RULE B WHERE A.PRO_RULE_ID = B.ID AND A.STATE = 'A' AND B.STATE = 'A' AND TERM_NO = '20141015' AND A.ORG_CODE(+) = 'JS100000' GROUP BY A.PRO_RULE_ID,A.ORG_CODE union all SELECT A.PRO_RULE_ID,NVL(SUM(A.LACK_NUM),0) NUM,NVL(SUM(A.QL_KIND_COUNT),0) COUNT,A.ORG_CODE FROM T_YZ_HXQL_PRO_DAY A, T_HXQL_DICT_PRO_RULE B WHERE A.PRO_RULE_ID = B.ID AND A.STATE = 'A' AND B.STATE = 'A' AND TERM_NO = '20141015' AND A.ORG_CODE(+) = 'JS110000' GROUP BY A.PRO_RULE_ID,A.ORG_CODE union all SELECT A.PRO_RULE_ID,NVL(SUM(A.LACK_NUM),0) NUM,NVL(SUM(A.QL_KIND_COUNT),0) COUNT,A.ORG_CODE FROM T_YZ_HXQL_PRO_DAY A, T_HXQL_DICT_PRO_RULE B WHERE A.PRO_RULE_ID = B.ID AND A.STATE = 'A' AND B.STATE = 'A' AND TERM_NO = '20141015' AND A.ORG_CODE(+) = 'JS120000' GROUP BY A.PRO_RULE_ID,A.ORG_CODE union all SELECT A.PRO_RULE_ID,NVL(SUM(A.LACK_NUM),0) NUM,NVL(SUM(A.QL_KIND_COUNT),0) COUNT,A.ORG_CODE FROM T_YZ_HXQL_PRO_DAY A, T_HXQL_DICT_PRO_RULE B WHERE A.PRO_RULE_ID = B.ID AND A.STATE = 'A' AND B.STATE = 'A' AND TERM_NO = '20141015' AND A.ORG_CODE(+) = 'JS130000' GROUP BY A.PRO_RULE_ID,A.ORG_CODE
------解决思路----------------------
自己用数据库客户端工具执行查询看看,估计花的时间太长了。 SQL语句需要好好优化。
------解决思路----------------------
引用:
自己用数据库客户端工具执行查询看看,估计花的时间太长了。 SQL语句需要好好优化。

如果确实表的数据量太大了,那就需要考虑使用中间表了,每天用存储过程抓数据。
------解决思路----------------------
如果实时查询意义不大那估计用中间表比较好。
------解决思路----------------------
就是数据多了,执行时间太长了,就像前面说的,弄个中间表吧,存储过程是个好办法