FR优化

自古美人都是妖i 提交于 2019-12-04 17:06:38

数据集缓存:

      对于大数据量报表,若每次直接从数据库取数,不仅增加数据库服务器的压力,也极大的影响了取数的速度从而降低报表的执行速度,为此 FineReport 提供了数据集缓存功能。

     FineReport 可先将其数据集查询的结果缓存下来,对于缓存下来的数据,再次使用到相同数据集时,无需再次连接数据库重新查询数据,直接使用缓存下来的结果,即使用 FineReport 的数据集共享机制,达到资源复用,减少取数时间从而提高了报表的展现速度。

2. 缓存数据有效范围

如果不同模板的某个同名数据集 SQL 查询语句和传入参数相同,则所有模板使用同一个数据集缓存。

如果不同模板的某个同名数据集 SQL 查询语句和传入参数都不同,则会生成多个不同的数据集缓存。

注:cpt 模板和 frm 表单都支持数据集缓存。

 

3. 数据集缓存方式

数据集缓存分为缓存至内存和缓存至磁盘这两种方式。不同点在于数据集缓存数据的存放位置不同。

3.1 缓存至内存

1)设置方法:

数据集缓存默认缓存至内存,在数据库查询窗口下拉框选择所有记录都保存在内存中,如下图所示:

1.png

2)设置后的效果:

当执行数据查询时就会将查询所得数据缓存至内存中,下次执行此数据集数据查询时,会直接从内存缓存中取数。

3)优缺点:

空间资源有限,但效率很高,取数速度快。

4)使用场景:

一般

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!