在企业进行报表展现时,如果用到的数据库某个表有100多万、200多万甚至上千万条数据,而这个报表又要求展示出该表的所有记录,如果报表的运算并不复杂,没有跨行分组的运算只是简单的明细数据,传统的报表都会花上很长时间进行处理甚至直接死机。FineReport推出的层式报表概念不仅加快报表的展现速率而且缓解报表的内存压力。 普通明细层式报表普通的模式,报表服务器会把报表执行完后才显示。如果采用层式报表,就只计算当前页的报表数据,从而使报表展示速度达到最快。虽然这时报表尚未执行结束,已经执行出来的那部分已可以得到并送交客户端展现。 简而言之,边执行边展现。由于从客户端输入请求,到执行出结果最前面一部分所需的执行时间很少,所以通过层式报表,可以大大的加快展现效率,提高用户体验。
层式报表设置界面 按页取数层式报表在只需要大数据量列表式浏览数据的情况下,为了追求更好的预览体验,我们提供了按页取数层式报表功能。通过设置分页取数的SQL语句,在终端预览时,每一页预览都会分别去取数并计算,这样预览每一页的时间都较快且大致相等。当然,在报表导出的时候取数和计算就是连续且是一次性的。 多数据集层式报表当数据量很大的时候,我们使用上面的层式报表是可以解决相当一部分问题,但是层式报表有其自身的限制:只支持单数据集。 基于此,FineReport提出了优先显示的概念,当用户进行数据预览时,通过传入的页码,展示相应数量的数据,就可以避免一次性将大量数据读入报表进行展现。
|