1、如果是多表数据量大的原因,首先对多表进行主键,索引的优化,看能不能走索引关联表,如果sql不能再继续优化,那么建议走etl的方式每天凌晨定时将需要的数据弄到数据仓库里面,前端报表展示的时候只查询这一张表即可,而不是每次用户查询都去数据库查询多个表关联。
2、如果数据量大,走etl的话,假如业务的系统有一个更新日期,那么就etl的时候对数据做增量更新放在数据仓库,这样可以定时跑任务,每天可以多次跑数据进去。
3、如果展示的字段多,那么在设置父格的时候最好都统一设置为A2这样的,而不用默认,因为默认其实帆软也是要去计算判断的,但是你都设置为最左父格,那么它不会判断了。
4、可以用抽数缓存的方式 抽数缓存介绍- FineReport帮助文档 - 全面的报表使用教程和学习资料 (fanruan.com)
5、增加服务器的硬件配置也会有一定的提升,但是对于非常的复杂的sql,它的提升并不大,因为真正的时间是浪费在查询与服务器返回数据的上面了。