在做一个报表,报表的基本情况如下:
数据量大
表间关联复杂
过滤条件多
之前一直尝试用普通的报表设计想把数据吐出来,后来发现这是不现实的。
首先,需要的内存要很大,于是将机器的内存提至20G
其次,由于有要导出数据的需求,所以即使数据量很大,也只能一次性吐出,不能做分页
再次,查询复杂,并且报表中的某些字段是根据其它字段为条件进行进一步查询的出结果,所以我想把那些查询用游标查出来,再用存储过程来取得数据集,结果是存储过程过于复杂,在数据集加载过程中直接挂掉加载不出字段来,如图
2508925090
最后又尝试将所有的计算,查询放到数据库中去做,把所有结果插入一个表中,报表模板中只是从数据库的这张表中select *的结果作为数据集,展示在页面,结果问题又出现了
25092
卡在那里就挂了
但是将所有过程在数据库中跑,结果用了不到3min就出来了。
有高人能给点意见么?