报表展现慢问题分析

 

对于展现慢的问题,我们可以先通过日志文件的输出信息中,找到具体计算慢的一步骤,对其进行优化,但是有的时候日志文件并没有输出信息,这种时候我们就需要自己去分析具体原因:
1. 数据集计算
SQL 语句书写不当经常会引发效率问题,将客户数据集 sql 拷贝到数据库客户端执行,若执行速度缓慢,说明 sql 写法有待检查。Sql 语句书写原则比如少用 in 操作符、不要用 not in 操作符、用“>=”替代“>”等,比较复杂的 sql 可以使用存储过程替代。
2. 数据集个数
数据集的数量也会导致效率问题,所以报表设计的时候应该尽量将需要的数据放到一个或几个数据集中取,而不是多个,尽量做到数据复用。
3. 报表设计
虽然润乾报表提供的函数都较为高效,但有时客户书写的报表表达式不是很简洁,像这 if 判断语句,ds.select()等等一旦类似这样的表达式大量使用,势必会影响报表运行效率,最常见的还有横纵扩展同行的情况,也会影响的报表运行效率。
4. 数据量大分页
对于大数据量的报表,建议客户使用分页标签进行分页,效率会得到很大提升。
5. 增加过滤条件
对于需要一页展现大量数据的报表,可以使用参数模板,通过参数过滤掉部分数据,尤其在 sql 中有? is null 的情况,可以通过动态参数拼接 sql 处理一下。