帆软填报报表提交慢

帆软报表提交速度慢的离谱,数据量大概也就100 * 20,就这么点数据提交要1分钟,因业务要求,不能用未修改不更新,有没有别的办法让他快点,或者有没有办法让他批量插入一下,就这么点数据实在不至于要这么长时间吧 

FineReport 帆软用户EDh26lMjAH 发布于 7 天前
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共5回答
最佳回答
0
帆软用户EDh26lMjAHLv0见习互助
发布于6 天前

没想到好点子,勉强解决了,帆软更新语句会自动加上trim函数,导致数据库索引不能使用,所以我加了个函数索引,对应帆软的这个trim,50秒提升到5秒了

最佳回答
0
snrtuemcLv8专家互助
发布于7 天前

这个目前没好的方案

可以减少数据量,一次20条

或者参考

填报页面优化技巧 https://help.fanruan.com/finereport/doc-view-613.html

最佳回答
0
孤陌Lv6资深互助
发布于7 天前(编辑于 7 天前

这个数据量 应该不会要那么长时间的  是不是主键设置不合理 或者太多的联合主键   我几万的数据量 也只需要1分半左右

最佳回答
0
shirokoLv6资深互助
发布于7 天前(编辑于 7 天前

两千数据不可能要1分钟吧,

检查一下可能:

出现了笛卡尔积填报,重复提交,实际不止这点;

数据表的数据量已经很大了,而且填报的时候没有按主键填报,数据插入很慢

最佳回答
0
小陈PhLv3见习互助
发布于7 天前

帆软FineReport填报报表提交慢的问题,可能由多种因素导致。以下是一些可能的原因及相应的解决方案:

原因及解决方案

数据量过大

问题:填报预览页面默认不分页,当数据量较大时,所有数据和元素都在一个页面上展示,导致页面加载慢。

解决方案:

使用查询条件控制每次查询的数据量。

启用填报分页功能。

直接显示控件

问题:开启直接显示控件功能后,会明显增加浏览器的渲染压力,导致页面加载和提交速度变慢。

解决方案:

关闭直接显示控件功能。

尽量避免使用按钮控件、复选按钮控件、单元格按钮组控件等默认始终直接显示的控件。

取数函数性能差异

问题:页面使用了性能较差的取数函数(如sql()、ds1.select()),且数据量较大时,会造成页面加载和提交缓慢。

解决方案:

优化SQL语句的执行速度。

使用性能更好的value()函数。

使用抽数缓存优化取数速度。

控件联动和JS处理

问题:控件联动复杂或JS处理数据量大时,会导致页面卡顿和提交速度变慢。

解决方案:

优化被联动的内容,减少多余的联动设置。

如需使用取数函数,尽量使用value()函数。

使用抽数缓存优化取数速度。

如果是用JS给其他单元格赋值,且赋值的数据量较多,可以换用批量赋值接口。

数据校验和提交设置

问题:设置了较多或较复杂的校验公式,或提交时校验控件的“允许自定义值”设置,当数据量较大时,会导致校验和提交速度变慢。

解决方案:

简化或减少校验公式。

如果不需要在提交时校验控件的“允许自定义值”设置,可以在配置表中添加相应字段来回退该逻辑。

如果需要在提交时校验,可以考虑减少数据字典的数据量,或者将相关校验放在“填报属性”的“数据校验”设置中实现。

数据库和服务器性能

问题:数据库性能不佳或服务器资源不足时,会影响提交速度。

解决方案:

优化数据库性能,如增加索引、优化SQL语句等。

增加服务器内存和CPU资源。

如果数据库类型为MySql,可以通过在数据连接的URL后增加rewriteBatchedStatements=true参数来开启批量提交功能。

模板父子格设置不合理

问题:模板父子格设置不合理,可能导致数据以数组*数组形式提交,增加了提交的数据量和时间。

解决方案:

根据报错提示调整单元格的父子格关系。

不建议开启“允许填报笛卡尔积”功能。

全局参数使用SQL语句

问题:全局参数的公式使用了SQL语句,可能导致页面加载缓慢。

解决方案:

尽量避免在全局参数中使用SQL语句。

可以考虑使用其他方式获取需要的参数值,如直接取系统参数或改为使用服务器数据集再通过value()函数取结果。

其他建议

分批次提交:如果数据量非常大,可以考虑分批次提交数据,以减少每次提交的数据量。

监控和日志分析:利用FineReport的监控和日志分析功能,定位性能瓶颈和错误原因。

升级和更新:确保FineReport软件是最新版本,以利用最新的性能优化和功能改进。

综上所述,针对帆软FineReport填报报表提交慢的问题,可以从数据量控制、控件设置、取数函数优化、联动和JS处理、数据校验和提交设置、数据库和服务器性能、模板父子格设置以及全局参数使用等多个方面进行排查和优化。

  • 4关注人数
  • 48浏览人数
  • 最后回答于:6 天前
    请选择关闭问题的原因
    确定 取消
    返回顶部