对于一个报表检验,性能就是其检验方向之一,皕杰报表之初就把性能摆到了第一位,但当面对超量的数据,服务器硬件毕竟有限,因而在设计报表时,性能优化也是需要考虑的问题。
可以从以下几个方面来考虑优化:
1.对数据集的sql语句进行优化,利用参数控制取出数据的数量,还可以使用视图或存储过程优化数据的获取。
2.在制表的过程过程中进行函数的优化,使用select函数时,相当于从数据集中取出一组符合条件的记录集合,在单元格中进行扩展,此时每个扩展出来的单元格都保留一个指针,指向当前记录,即当前行,因此在这些单元格的附属单元格中,应当直接用“数据集名.列名”来引用同一个数据集同一条记录的值,此时报表引擎不需要对数据集进行检索遍历了,而是直接从当前行中取值。
3. 对于年报月报类不变的报表可以生成静态文件保存下来,再次调用时直接调用静态文件。
4.可以设置缓存,根据需要选择报表或数据集缓存。
5. 最后还可以通过硬件来保证,如增加服务器内存,使用集群均衡负载等措施。
6.表中设计函数时,选取最优解的函数来取数据。