润乾报表 V2018 一直停滞在取数完成正在计算或内存溢出,无法展现报表

| 一张交叉报表,后台基础数据大概 30w 条。 sql 为:SELECT * FROM  Report_V_AllBX
报表见 11.png

该报表为啥无法展现?问题在哪? 应该怎么优化?
|

11.png(5.09 KB, 下载次数: 0)

11.png

针对该问题,分析如下:
1、报表仅用到 3 个字段,那么 sql 的 select 中就应该仅出现 3 字段,不要用 *  查出无用字段,会大量占用内存。
2、A2/B1 分别为 group B2 为 sum,该部分明显能在 sql 分组并聚合算出来的,就尽量让 sql 来处理。
通过 1/2 的处理,返回给报表的数据就会成倍的递减,另外 B2 可直接改为取数表达式 ds1. 字段,无需报表计算。

修改后:
sql: SELECT BillDate,CostName,sum(YBMoney) YBMoney FROM  Report_V_AllBX group by BillDate,CostName
报表:B2 改为 =ds1.YBMoney

效果:原报表取数 3 分钟左右且报表无法计算(一直停留在正在计算。。。),改后 5 秒(主要是 sql 执行时间)左右。